Azalea is an multi-kernel based operating system (OS) research project for manycore systems. As recent applications are requiring more CPUs for their performance, manycore systems have evolved. Since existing operating systems do not provide performance scalability in manycore systems, Azalea has been developed for supporting performance scalability.
Azalea is combined a light kernel with a general-purpose OS(FWK) and run them side by side using space partitioning. A lighe kernel provides scalability and parallel performance in manycoreos by minimizing kernel functionality in manycore systems. FWK handles compatibility with existing Linux APIs (I/O, systemcalls, etc.) that light kernel cannot handle. Furthermore, by using space sharing techniques, kernel interference and waste of resource is minimized. Space sharing consists of two techniques as followed.
* One core-One thread - A thread is assigned to the core to ensure that it is executed without interrupt until terminated.
* One core-One memory - Specifies the memory area available for each core.
For developing a light kernel, we initially developed a Light Weight Kernel (LWK), that has minimize kernel fuctions, and named Azalea-LWK. Later, we adopt unikernel charateristics in the LWK, and name Azalea-Unikernel.
(Azalea-LWK: https://github.com/oslab-swrc/Azalea, Azalea-Unikernel: https://github.com/oslab-swrc/Azalea-unikernel )
We are aware that this document may not convey all of Azalea OS's design in sufficient depth and may fall short of providing a guide to understanding the prototype. We welcome any feedback about the quality of this description, so that we can improve it. Your can use the github mechanisms to post feedback.
We have released this prototype under an open-source license to enable collaboration with parties outside. Most parts of Azalea OS are available to you under MIT while some parts are also available to you under the GNU General Public License (GPL) version 2.