Masterarbeit MSTR-3554

Bibliograph.
Daten
Alam, Nazmul: Language Independent Modelling of Parallelism.
Universität Stuttgart, Fakultät Informatik, Elektrotechnik und Informationstechnik, Masterarbeit Nr. 3554 (2014).
79 Seiten, englisch.
CR-Klassif.C.1.1 (Single Data Stream Architectures)
C.1.2 (Multiple Data Stream Architectures (Multiprocessors))
C.4 (Performance of Systems)
D.1.3 (Concurrent Programming)
D.2.5 (Software Engineering Testing and Debugging)
D.3.4 (Programming Languages Processors)
D.4.1 (Process Management)
D.4.2 (Storage Management)
D.4.7 (Operating Systems Organization and Design)
D.4.8 (Operating Systems Performance)
Kurzfassung

To make programs work in parallel contexts without any hazards, programming languages require changes to their structures and compilers. One of the most complicated parts is memory models and how programming languages deal with memory interactions. Different processors provide a different level of safety guarantees (i.e. ARM provides relaxed whereas Intel provides strong guarantees). On the other hand, different programming languages provide different structures for parallel computation and have individual protocols for communicating with parallel processes. Unfortunately, no specific choice is best in all situations. This thesis focuses on memory models of various programming languages and processors highlighting some positive and negative features from the point of view of programmability, performance and portability. In order to give some evidence of problems and performance bottlenecks, some small programs have been developed. This thesis also concentrates on incorrect behaviors, especially on data race conditions in programs, providing suggestions on how to avoid them. Also, some litmus tests on systems featuring different vendors' processors were performed to observe data races on each system. Nowadays programming paradigms also became a big issue. Some of the programming styles support observable non-determinism which is the main reason for incorrect behavior in programs. In this thesis, different programming models are also discussed based on the current state of the available research. Also, the imperative and functional paradigms in different contexts are compared. Finally, a mathematical problem was solved using two different paradigms to provide some practical evidence of the theory.

Volltext und
andere Links
PDF (4042367 Bytes)
Abteilung(en)Universität Stuttgart, Institut für Softwaretechnologie, Programmiersprachen und Übersetzerbau
BetreuerProkharau, Mikhail
Eingabedatum27. November 2014
   Publ. Informatik