Documents
-
- Download
- Title Pages_Contents
- open access
-
- Download
- Part I: Chapter 2
- open access
-
- Download
- Part I: Chapter 3
- open access
-
- Download
- Part II: Chapter 4
- open access
-
- Download
- Part II: Chapter 5
- open access
-
- Download
- Part II: Chapter 6
- open access
-
- Download
- Part III: Chapter 7
- open access
-
- Download
- Part III: Chapter 8
- open access
-
- Download
- Summary in Dutch
- open access
-
- Download
- Summary in English
- open access
-
- Download
- Acknowledgements
- open access
-
- Download
- Propositions
- open access
In Collections
This item can be found in the following collections:
Scheduled protocol programming
With the advent of multicore processors and data centers, computer hardware has become increasingly parallel, allowing one to run multiple pieces of software at the same time on different machines. Coordination of these pieces is best expressed in a coordination language as an explicit interaction protocol that clearly defines the interactions among all components in the software.
An explicit interaction protocol not only improves code structure but also enables automated analysis of the protocol to improve execution efficiency of the software. In this thesis, we focus in particular on improving execution efficiency by means of scheduling, which concerns with the allocation of (computing) resources to software tasks. Almost always, scheduling is the responsibility of a general-purpose operating system that makes no assumptions on the software and thereby ignores all relevant scheduling information in that software. As a result, the operating system alone...
Show moreWith the advent of multicore processors and data centers, computer hardware has become increasingly parallel, allowing one to run multiple pieces of software at the same time on different machines. Coordination of these pieces is best expressed in a coordination language as an explicit interaction protocol that clearly defines the interactions among all components in the software.
An explicit interaction protocol not only improves code structure but also enables automated analysis of the protocol to improve execution efficiency of the software. In this thesis, we focus in particular on improving execution efficiency by means of scheduling, which concerns with the allocation of (computing) resources to software tasks. Almost always, scheduling is the responsibility of a general-purpose operating system that makes no assumptions on the software and thereby ignores all relevant scheduling information in that software. As a result, the operating system alone cannot ensure optimally scheduled execution of the software.
In this thesis, we propose a solution that changes the software such that it will be efficiently scheduled by the general-purpose operating system. The main idea is to take advantage of the duality between scheduling and coordination. To be precise, we analyze the protocol of the software to determine an optimal scheduling strategy for this software. Then, we enforce this optimal schedule by incorporating the strategy in the original protocol. As a result, we force the ignorant operating scheduler to follow our precomputed optimal schedule.
- All authors
- Dokter, K.P.C.
- Supervisor
- Arbab, F.; Bonsangue, M.M.
- Committee
- Baier, C.; Kleijn, H.C.M.; Pol, J.C. van de; Plaat, A.; Verbeek, F.J.
- Qualification
- Doctor (dr.)
- Awarding Institution
- Leiden Institute of Advanced Computer Science (LIACS) , Faculty of Science , Leiden University
- Date
- 2023-05-24