Runtime systems for concurrent languages have begun to utilize feedback mechanisms to influence their scheduling behavior as the application proceeds. These feedback mechanisms rely on metrics by which to grade any alterations made to the schedule of the multi-threaded application. As the application's phase shifts, the feedback mechanism is tasked with modifying the scheduler to reduce its overhead and increase the application's efficiency.
Cooperativity is a novel possible metric by which to grade a system. In biochemistry the term cooperativity is defined as the increase or decrease in the rate of interaction between a reactant and a protein as the reactant concentration increases. This definition translates well as an information theoretic definition as: the increase or decrease in the rate of interaction between a process and a communication method as the number of processes increase.
This work proposes several feedback mechanisms and scheduling algorithms which take advantage of cooperative behavior. It further compares these algorithms to other common mechanisms via a custom extensible runtime system developed to support swappable scheduling mechanisms. A minimalistic language with interesting characteristics, which lend themselves to easier statistical metric accumulation and simulated application implementation, is also introduced.
Library of Congress Subject Headings
Computer scheduling--Quality control; Data transmission systems; Programming languages (Electronic computers); Electronic data processing--Distributed processing
Department, Program, or Center
Computer Science (GCCIS)
Rajendra K. Raj
Dean, Alexander, "Process Cooperativity as a Feedback Metric in Concurrent Message-Passing Languages" (2014). Thesis. Rochester Institute of Technology. Accessed from
RIT – Main Campus