ePrints.FRI - University of Ljubljana, Faculty of Computer and Information Science

Parallel dataflow programming in C++

Egon Kocjan (2009) Parallel dataflow programming in C++. EngD thesis.

[img] PDF
Download (1494Kb)

    Abstract

    This dissertation describes the parallel dataflow programming library LibY written in the C++ programming language. The library solves software development problems most often encountered in relation to efficient multi-core processor support, extensive data transmission over unreliable Internet connections and communication with a large number of clients. The solutions to the presented problems were strongly influenced by many years of experience in building communication applications for end users and large server systems with 10 000 clients per each server. A comparison is made between LibY and the existing solutions to problems in the mentioned field. Basic library primitives are described along with the direct benefits of their use. The most important improvements in LibY are deadlock prevention, optimal count of system execution threads, unified model of processor intensive and input/output task execution, and efficient mapping of the LibY basic primitives into the operating system primitives. Moreover, two methods of shared resource locking are described. Both methods retain the basic beneficial property of LibY, i.e. deadlock prevention. Active objects are a simple and efficient method of locking, whereas general locking is implemented with a global lock ordering method. The last part covers the simulation of a multimedia videoconferencing server. Numerous benefits along with some disadvantages of LibY usage have been recognised by analysing the server. More sophisticated executors, task schedulers and safer implementation of the basic primitives are identified as the basis for further development of LibY.

    Item Type: Thesis (EngD thesis)
    Keywords: parallel programming, dataflow programming, C++, deadlock prevention, unified task model, futures
    Number of Pages: 68
    Language of Content: Slovenian
    Mentor / Comentors:
    Name and SurnameIDFunction
    doc. dr. Boštjan Slivnik280Mentor
    Link to COBISS: http://www.cobiss.si/scripts/cobiss?command=search&base=50070&select=(ID=7465556)
    Institution: University of Ljubljana
    Department: Faculty of Computer and Information Science
    Item ID: 965
    Date Deposited: 01 Dec 2009 08:33
    Last Modified: 13 Aug 2011 00:36
    URI: http://eprints.fri.uni-lj.si/id/eprint/965

    Actions (login required)

    View Item