Explore chapters and articles related to this topic
Synchronization
Published in Heqing Zhu, Data Plane Development Kit (DPDK), 2020
When lock is in use, the waiting cores are not utilized in an optimized way. Lock helps the data synchronization, but it forces the other cores to wait until the shared resource is available. The server platform has lots of core for software use. If software focuses on high performance, core-based scaling is important to achieve the high concurrency, the resource is ideally localized, and the data sharing needs to be as less as possible. But data sharing is often required, in this case, a lock-free mechanism can improve software performance. This enables more cores to work meaningfully in parallel. Performance scaling is a key design goal for DPDK, a multi-threading software that focuses on moving packets from cores to cores safely and fast.
Execution Models for Embedded Systems
Published in Ivan Cibrario Bertolotti, Tingting Hu, Embedded Software Development, 2017
Ivan Cibrario Bertolotti, Tingting Hu
The main drawback of lock-free and wait-free communication is that their inner workings are considerably more complex than any traditional inter-task communication and synchronization mechanisms. However, the recent development and widespread availability of open-source libraries containing a collection of lock-free data structures, for example, the Concurrent Data Structures library (libcds) [100] will likely bring what is today considered an advanced topic in concurrent programming into the mainstream.
Lock and Wait-Free Communication
Published in Ivan Cibrario Bertolotti, Gabriele Manduchi, Real-Time Embedded Systems, 2017
Ivan Cibrario Bertolotti, Gabriele Manduchi
The underlying idea of a lock-free algorithm is to let processes read from and write into the shared data at any time without synchronizing them in any way. A reader can therefore access the shared data while they are being written and obtain an inconsistent value.
Matrix Factorization in Recommender Systems: Algorithms, Applications, and Peculiar Challenges
Published in IETE Journal of Research, 2021
Yang et al. [80] accredited that tensor factorization is a powerful technique for producing a model from a tensor with high accuracy and rich information as more features are available. Choi et al. [81] proposed a coupled tensor-matrix factorization algorithm named Sparse, lock-free SGD based, and Scalable CMTF (S3CMTF) technique to resolve the problems of inaccuracy, low speed, and low scalability. In a bid to overcome the problem of RS recommending individual items to users, Hu et al. [82] proposed a functional TMF algorithm that modeled the relationships between users and fashion items in order to recommend sets of items to individual users. According to the authors, the proposed method proved effective. Bhargava et al. [83] presented a system and a method for achieving multidimensional CF technique for users, activities, time and location with the assistance of TF on sparse user-generated output. They established that their method beat several current baselines. [84] advocated SCOUT, a large-scale coupled matrix-tensor factorization algorithm. SCOUT was able to decompose up to 100 × bigger tensors than current methods. It also showed direct scalability for orders and machines.
A study of the lock-free tour problem and path-based reformulations
Published in IISE Transactions, 2020
Mehmet Başdere, Karen Smilowitz, Sanjay Mehrotra
Vertex Degree Lock Elimination Inequalities (VDLEIs) are derived by identifying necessary conditions for a subset of vertices to be lock-free. VDLEIs limit the number of arcs used from A(S) and for a subset of vertices with basic vertex degree arguments to maintain free vertices for lock feasibility flow paths. Let represent a lower bound on the number of required free vertices in S, which can be obtained from the following Free Vertex Minimization (FVM) problem for S: where is the set of all feasible q – b paths for vertex and is the set of vertices in path Therefore, is the minimum number of vertices from set S needed to construct q – b paths. A tour using more than vertices from set S is not feasible, as the lock feasibility flow paths intersect with the vertices in the tour.
Deep Learning Frameworks on Apache Spark: A Review
Published in IETE Technical Review, 2018
Nikitha Johnsirani Venkatesan, ChoonSung Nam, Dong Ryeol Shin
DeepSpark was developed by Hanjoo Kim [54] in 2016 which is a general distributed DL platform. It allows both Caffe and TensorFlow to execute the DL jobs on a distributed cluster of machines in Spark. DeepSpark overcomes communication overhead on commodity clusters like Spark. It is also flexible and scalable for large data-set as it directly utilizes the Spark data management capability. DeepSpark runs on top of Spark and it loads the data in the form of SparkRDD [72]. The data-set whose size is enormously large is converted into lightning memory-mapped database manager (LMDB) format and is stored in the local repository of each worker node. Caffe is accepted for GPU utilization by using Java Caffe wrapper which was designed by the authors. Usually, Spark lacks performance in updating the parameter at each iteration [72] in an asynchronous manner. For the gradient updates, DeepSpark has implemented lock-free asynchronous averaging. To improve the overall convergence rate, it has an adaptive variant of EASGD [73]. Image recognition [5] and speech recognition [74] are focused mainly on implementing CNN algorithm. To demonstrate the effectiveness, DeepSpark has been tested by using CIFAR-10 [75] and ImageNet [76] data-sets. DeepSpark is freely available on Github and it is an open source software.