A Memory Model Sensitive Checker for C#
Short Description
Abstract. Modern concurrent programming languages like Java and C# have a programming language level memory model; it captures the set of all allowed behaviors of programs on any implementation platform -uni- or multi-processor. Such a memory model is typically weaker than Sequential Consistency and allows reordering of operations within a program thread. Therefore, programs verified correct by assuming Sequential Consistency (that is, each thread proceeds in program order) may not behave correctly on certain platforms! The solution to this problem is to develop program checkers which are memory model sensitive. In this paper, we develop such an invariant checker for the programming language C#. Our checker identifies program states which are reached only because the C# memory model is more relaxed than Sequential Consistency. Furthermore, our checker identifies (a) operation reorderings which cause such undesirable states to be reached, and (b) simple program modifications - by inserting memory barrier operations - which prevent such undesirable reorderings.
Website: www.comp.nus.edu.sg | Filesize: 210kb
No of Page(s): 16
Read more
Object-Oriented Software Construction
Short Description
Object-oriented concurrency… Concurrency: very low-level mechanisms - semaphores, locks, critical sections, suspend, .
Website: se.ethz.ch | Filesize: 492kb
No of Page(s): 43
Read more
CSCE 547 Windows Programming Multi-Threading
Short Description
Multi Threading
Multithreading is a mechanism for performing two or more tasks concurrently
In Multiple CPU systems threads could be allocated to CPUs, using SMP (Symmetric Multi-Processing) Single CPU or Multiple CPUs
In Single CPU each thread is given (approx) equal fractions of CPU time
Multi thread programming is difficult when threads must be synchronized with respect to certain resources
Website: docs.msdnaa.net | Filesize: 506kb
No of Page(s): 23
Read more
An Introduction to Programming with C# Threads
Short Description
This paper provides an introduction to writing concurrent programs with “threads”. A threads facility allows you to write programs with multiple simultaneous points of execution, synchronizing through shared memory. The paper describes the basic thread and synchronization primitives, then for each primitive provides a tutorial on how to use it. The tutorial sections provide advice on the best ways to use the primitives, give warnings about what can go wrong and offer hints about how to avoid these pitfalls. The paper is aimed at experienced programmers who want to acquire practical expertise in writing concurrent programs. The programming language used is C#, but most of the tutorial applies equally well to other languages with thread support, such as Java.
Website: birrell.org | Filesize: 570kb
No of Page(s): 40
Read more
An ASM specification of C# threads and the .NET memory model
Short Description
Abstract. We present a high-level ASM model of C# threads and the .NET memory model. We focus on purely managed, fully portable threading features of C#. The sequential model interleaves the computation steps of the currently running threads and is suitable for uniprocessors. The parallel model addresses problems of true concurrency on multiprocessor systems. The models provide a sound basis for the development of multi-threaded applications in C#.
Website: www.di.unipi.it | Filesize: 268kb
No of Page(s): 24
Read more
The Polymorphic Pi-calculus Theory and Implementation David N …
Short Description
A theory of bisimulation for the ?-calculus. Techni-. cal Report ECS-LFCS-93-270, Laboratory for Foundations of Com-. puter Science, University of Edinburgh …
Website: www.lfcs.inf.ed.ac.uk | Filesize: 1197kb
Read more
Transactional Memory for Smalltalk Concurrent Programming Problems …
Short Description
for Smalltalk. Lukas Renggli. Oscar Nierstrasz. Software Composition Group. University of Bern. Concurrent Programming. Semaphore forMutualExclusion …
Website: www.lukas-renggli.ch | Filesize: 193kb
Read more