Lock-free and wait-free algorithms - Factbites
 Factbites
 Where results make sense
About us   |   Why use us?   |   Reviews   |   PR   |   Contact us  

Topic: Lock-free and wait-free algorithms


    Note: these results are not from the primary (high quality) database.


  
 Non-blocking synchronization - Wikipedia, the free encyclopedia
Literature up to the turn of the century used "non-blocking" synonymously with lock-free: an algorithm that was free from deadlock and livelock.
Non-blocking algorithms are also safe for use in interrupt handlers: even though the preempted thread cannot be resumed, progress is still possible without it.
Non-blocking algorithms use atomic read-modify-write primitives that the hardware must provide, the most notable of which is compare and swap (CAS).
en.wikipedia.org /wiki/Non-blocking_synchronization   (1051 words)

  
 resume.doc
This project’s goal is not only to come up with a formal generalization of these nonblocking classes of algorithms, but also to bridge the gap between lock freedom and wait freedom, with a stronger progress guarantee than that of lock freedom but weaker guarantee than that of wait freedom.
Wait freedom guarantees progress to all competing processes in a finite number of their own time steps, lock freedom guarantees progress to at least one process in finite time and obstruction freedom guarantees progress to processes only in the absence of contention.
Guaranteeing wait freedom is generally prohibitively expensive, whereas lock-freedom guarantees are comparatively less expensive.
www.cs.rochester.edu /~vmarathe/resume/resume.doc   (1055 words)

  
 menkethesis.doc
Although both algorithms are sufficient for synchronization, when one process enters the critical section, any other process desiring access to the shared data must wait indefinitely for that process to exit the critical section.
We compared the two algorithms using both real-system experiments and simulations that compute the average execution time for a pair of acquire/release operations.
For all the experiments on our algorithms, node 0 was configured to execute the ISR and participate in the algorithm and node 1 was configured to only participate in the algorithm.
www.cs.pitt.edu /~moir/Papers/menkethesis.doc   (14489 words)

  
 Lock (Java 2 Platform SE 5.0)
For example, some algorithms for traversing concurrently accessed data structures require the use of "hand-over-hand" or "chain locking": you acquire the lock of node A, then node B, then release A and acquire C, then release B and acquire D and so on.
When locking and unlocking occur in different scopes, care must be taken to ensure that all code that is executed while the lock is held is protected by try-finally or try-catch to ensure that the lock is released when necessary.
Commonly, a lock provides exclusive access to a shared resource: only one thread at a time can acquire the lock and all access to the shared resource requires that the lock be acquired first.
java.sun.com /j2se/1.5.0/docs/api/java/util/concurrent/locks/Lock.html   (1433 words)

  
 Wait-Free and Lock-Free Objects
Much of my past research involves lock-free and wait-free algorithms for accessing shared objects on uniprocessors and shared-memory multiprocessors.
Lock-free and wait-free objects are mainly of interest because they avoid problems such as priority inversion and deadlock, and because they tolerate delays due to page faults, quantum expirations, etc., without kernel intervention.
Lock-free algorithms constitute a fine-grained notion of optimistic concurrency control: a process performs an operation on a lock-free object without actually locking the object; in effect, the process optimistically assumes that no interference will occur as a result of a concurrent object access by another process.
www.cs.unc.edu /~anderson/projects/wflf.html   (165 words)

  
 wikien.info: Main_Page
In contrast to algorithms that protect access to shared data with locks, lock-free and wait-free algorithms are specially designed to allow multiple threads to read and write shared data concurrently without corrupting it.
Locking hubs, also known as free wheeling hubs are an optional accessory fitted to many older four wheel drive vehicles, allowing the front wheels to be manually disconnected from the front half shafts.
A locked room mystery in crime fiction is a story in which the reader is presented with a puzzle and encouraged to solve it before finishing the story and being told the solution.
www.alanaditescili.net /browse.php?title=L/LO/LOC   (11245 words)

  
 Parallel Patterns for Synchronization on Shared-Memory Multiprocessors
Many algorithms and data structures may be split into independent parts, with each part having its own independent critical section.
Locating the lock for each hash line in the hash-line-header data structure, as shown in Figure fig:datalock, results in a special case of partitioning known as ``data locking''.
Therefore, code locking should be used on programs that spend only a small fraction of their run time in critical sections or from which only modest scaling is required.
c2.com /ppr/mutex/mutexpat.html   (4325 words)

  
 Boston Area Architecture Conference 2003, Abstracts
Locking has well-known scalability problems, and is increasingly recognized as a software engineering quagmire.
This paper proposes stream algorithms, which, along with a decoupled systolic architecture, provide an excellent match for the physical and technological constraints of single-chip tiled architectures.
In particular, we show that the compute efficiency of stream algorithms can approach 100% asymptotically, that is for large numbers of processors and appropriate problem size.
cag.lcs.mit.edu /barc2003/program.html   (2522 words)

  
 Lock-free and Wait-free Synchronization in Multiprogrammed Systems
This framework will be established through a combination of research on new algorithmic techniques for efficiently implementing lock-free and wait-free shared objects in multiprogrammed systems, and new lower-bound and impossibility results that help reveal characteristics that optimal or near-optimal algorithms must have.
Most lock-based synchronization algorithms perform poorly in the face of such delays, because a delayed process holding a lock can impede the progress of other processes waiting for that lock.
Furthermore, lock-based algorithms are susceptible to problems such as deadlock and priority inversion.
www.cs.unc.edu /~anderson/projects/lfwf.html   (283 words)

  
 Intel® Software Network - Multiple Approaches to Multithreaded Applications - Printable Version
Instead of using a lock object, it is possible to write a DCL that employs CAS for a lock-free implementation.
Locks are looked at in depth in Chapter 4 of the paper and it serves as a good guideline for the synchronization of multiprocessor and Hyper-Threading Technology applications.
When the lock attempt is successful, the thread gains control of the lock and executes the code in the critical region.
www.intel.com /cd/ids/developer/asmo-na/eng/151201.htm?prn=Y   (2972 words)

  
 Parallel and distributed algorithms
In general it holds that wait and lock free algorithms are more reliable and offer a better performance, but are even harder to design correctly than ordinary parallel algorithms.
Wait- and lock-free algorithms that we have developed are for garbage collection [HesGro01], the WRITE-ALL problem [GrHeMaVe01], hashtables [GGH03].
A parallel or distributed algorithm is executed by a number of processes and/or processors to accomplish a particular task.
www.win.tue.nl /oas/demo/distr_alg.html   (661 words)

  
 Java theory and practice: Going atomic
Concurrent algorithms based on CAS are called lock-free, because threads do not ever have to wait for a lock (sometimes called a mutex or critical section, depending on the terminology of your threading platform).
Until JDK 5.0, it was not possible to write wait-free, lock-free algorithms in the Java language without using native code.
Nonblocking algorithms are used extensively at the operating system and JVM level for tasks such as thread and process scheduling.
www-128.ibm.com /developerworks/java/library/j-jtp11234   (2850 words)

  
 Distributed Algorithms & Systems Home
In addition to this WWW page, there is a mailing-list operational that aims to `promote the exchange of ideas and information relating to "Distributed Algorithms" amongst researchers and practitioners in the field'.
The purpose of this page is to provide a single entry-point to all sorts of pointers relevant to research in distributed algorithms and systems.
Three pages related to systems for algorithm animation: LYDIAN, ZADA, and ZEUS (at DEC-SRC).
www.cs.chalmers.se /~tsigas/DISAS   (490 words)

  
 CFP IASTED International Conference on Parallel and Distributed Computing and Systems
Emphasis will be placed on techniques to obtain lock- and wait-free solutions in a systematic manner.
Participants of Type 1 will be provided with sufficient details so that they can delve deeper into the methodology, develop code synthesis algorithms for new languages and platforms, and perhaps build their own patterns.
We do however assume that the participants are proficient in programming.
www.iasted.org /conferences/2002/cambridge/pdcs-tutorial.htm   (918 words)

  
 Improving Application Efficiency Through Chip Multi-Threading
Another feature in the Solaris OS has this effect: Before unlocking a lock, a thread spins to see if other threads are waiting for the lock and if the lock is acquired.
The compute cycles are 'C', and the memory wait time is 'M'.
MPO[23] is a smart algorithm in the Solaris OS which places process data close to the thread accessing the data by optimizing for latency and bandwidth.
developers.sun.com /solaris/articles/chip_multi_thread.html   (7525 words)

  
 OlegUSENIX2002.txt
The source cannot be freely distributed, but it can be modified and used in a commercial application royalty-free.
His algorithm may prevent a deadlock in one case and allow it in another.
Furthermore, to avoid deadlocks, the thread must release locks in certain situations (when it failed to acquire all needed locks, for example or before doing a slow i/o).
static.userland.com /sh4/gems/lambda/OlegUSENIX2002.txt   (4227 words)

  
 pc_dict.txt
Free On-line Dictionary of Computing FOLDOC is a searchable dictionary of acronyms, jargon, programming languages, tools, architecture, operating systems, networking, theory, conventions, standards, mathematics, telecoms, electronics, institutions, companies, projects, products, history, in fact anything to do with computing.
Tasks are synchronised by the {rendezvous}, in which a task waits for one of its subroutines to be executed by another.
A method of estimating software cost using mathematical {algorithms} based on the parameters which are considered to be the major cost drivers.
www.pa.msu.edu /~wilkinson/faq/pc_dict.txt   (17469 words)

  
 Lock-free Dynamic Hash Table with Open Addressing
Wait-free and lock-free algorithms can do without locking mechanisms, and therefore do not suffer from these problems.
A true problem of lock-free algorithms is that they are hard to design correctly, even when apparently straightforward.
In the paper, we present an efficient lock-free algorithm for parallel accessible hash tables, which promises more robust performance and reliability than conventional lock-based implementations.
www.cs.rug.nl /~wim/mechver/hashtable   (266 words)

  
 Re: [sigc] Re: [gtkmm] libsigcx and gtkmm 2.4
A memory barrier, or synchronize, instruction is issued both on lock and unlock and also in a bunch of other thread related functions.
be seen by any thread that later locks the same mutex.
that wants to read the data still has to lock the same mutex though.
mail.gnome.org /archives/gtkmm-list/2004-July/msg00126.html   (412 words)

  
 Liberation Technology
While 'free' does not refer to the price of software (but rather to the 'freedom' aspect), it is inevitable that the very structure of the GPL licence would ensure that free copying and improvements to the software would make prices become far more affordable compared to phenomenally priced proprietorial software.
Free Software Initiative Japan" (FSIJ) was founded, to promote Free Software in Japan and "create the basis for a future FSF Japan or FSF Asia".
Free Software is used mostly for word processing, e-mail, web browsing, spreadsheets and presentations.
www.maailma.kaapeli.fi /asia.html   (17324 words)

  
 More News
nodes of a linked list), can be freed and reused, so that the processes that might still be accessing those parts are able to complete their operations correctly...We presented new algorithms implementing a lock-free linked list and a lock-free skip list.
Lock-Free Reference Counting The goal of this work, therefore, is to allow programmers to exploit the advantages of GC in designing their lock-free data structure implementations, while avoiding its drawbacks.
The difficulty lies in determining how and when memory that was once occupied by parts of the data structure (e.g.
morenews.blogspot.com /2005/08/world-without-locks.html   (240 words)

  
 Distributed Algorithms: SCHEDULE
Mutual exclusion and resource allocation: we will study algorithms for message passing systems, as well as for shared memory systems (an algorithm by Lamport that uses ideas from logical clocks; the dining/drinking philosophers)
Advantages gained from synchrony: probably at this point you will have been convinced that designing algorithms and programming for the synchronous network model is significantly more convenient and easier to argue about, compared to the asynchronous network model.
Other related graph problems: BFS Tree, Shortest Paths, Minimum Spanning Tree (the Gallager, Humblet and Spira algorithm, one of the most interesting algorithms in Distributed Computing).
www.mpi-inf.mpg.de /~tsigas/CourseDaDocs98/tentative.html   (502 words)

  
 Center for Lifelong Engineering Education
This course does not have any overlap with Distributed Systems course offered in Fall 2005 which is based around principles and algorithms in Distributed Systems.
The first part of the course requires students to read and understand the first six chapters of the textbook.
Course Contents: This course is an individual study course designed for students to learn concurrent and distributed programming aspects of Java.
lifelong.engr.utexas.edu /ese/garg2.cfm   (402 words)

  
 The WARPing Group
Our aim in this project is to study and apply the lock/wait-free methods (each one where appropriately suited) to derive new protocols and algorithms for real-time systems and show how they can improve the system behaviour, compared with lock-based methods.
This project is to continue our recently started collaboration to explore the power and applicability of non-locking synchronisation in real-time systems and applications, by com- bining the experience of the two research groups in theses areas and the useful feedback from the industrial nodes in the project.
situations in which a high-priority task has to wait for a low-priority task to release a lock.
www.mrtc.mdh.se /projects/warp/project.htm   (428 words)

  
 ConcurrentLinkedQueue (Java 2 Platform SE 5.0)
Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms by Maged M. Michael and Michael L. Scott.
This implementation employs an efficient "wait-free" algorithm based on one described in
The caller is thus free to modify the returned array.
java.sun.com /j2se/1.5.0/docs/api/java/util/concurrent/ConcurrentLinkedQueue.html   (1029 words)

  
 Networking & Distributed Computing Seminar
Obstruction-Free Algorithms can be Practically Wait-Free Faith Fich, Victor Luchangco, Mark Moir, and Nir Shavit Lecture Notes in Computer Science 3724, Springer Verlag, Pierre Fraignaud (Ed.), 19th International Symposium on Distributed Computing (DISC) 2005
A Simple Algorithmically Reasoned Characterization of Wait-free Computations Elizabeth Borowsky and Eli Gafni, PODC-97
The Concurrency Hierarchy, and Algorithms for Unbounded Concurrency, Gafni, Merritt, Taubenfeld PODC 01
www.cs.tau.ac.il /~afek/SeminarDCN.html   (737 words)

  
 project_writeup_das.doc
There are currently universal (for any ADT) wait free methods but they have too much overhead to be efficient.
An algorithm that provides Lock-Free functionality for any generic ADT is also called universal.
This is important to applications in parallel algorithms, distributed computing, user-level thread implementation and multiprocessor operating systems.
www.cs.rpi.edu /~bushl2/portfolio/lockfree-grape/writeup/project_writeup_das.doc   (2873 words)

  
 Live On Hope
After waiting for an hour and being practically frozen, I decided to abandon the idea.
Bayesian algorithm seems to be a statistics method that is more 'opinionated' than the traditional method.
For ordered problems, it is usually possible to use only the position of the sequence to describe the partial solutions; for non-ordered problems, however, you will have to use sets to do so.
zyzhu.tripod.com   (3935 words)

  
 Catalog of free database systems
From: David Muir Sharnoff Newsgroups: comp.databases, comp.databases.object Subject: Catalog of free database systems Date: 6 Aug 1997 15:34:51 -0700 Message-ID: Reply-To: free-databases@idiom.com Archive-name: databases/free-databases Last-modified: 1997/08/06 Version: 2.0 Catalog of Free Database Systems This document attemts to catalog databases that are available without payment and with source.
ODBC and JDBC drivers are available from commercial sources and free versions are under development.
The engine is based on the lower level GDBM interface, a freely available database library.
www.faqs.org /faqs/databases/free-databases   (11599 words)

  
 OS - Spring 2003: Ex2
That means that each thread that wants to acquire a lock must pass a wait free doorway, which it is committed to complete.
Thus, a deadlocked thread is never inside a wait free doorway.
The Reader/Writer lock you implement must have the fairness policy: FIFO after a wait free doorway.
www.cs.huji.ac.il /~os03/Ex/Ex2/ex2.html   (569 words)

Try your search on: Qwika (all wikis)

Factbites
  About us   |   Why use us?   |   Reviews   |   Press   |   Contact us  
Copyright © 2005-2007 www.factbites.com Usage implies agreement with terms.