Applications adaptable execution path for operating system services on adistributed reconfigurable system on chipSufyan Samara*, Fahad Bin Tariq, Timo Kerstan, Katharina StahlDesign of Distributed Embedded Systems, Heinz Nixdorf InstituteUniversity of PaderbornFuerstenallee 11, 33102 Paderborn, GermanyE-mail: sufyan@mail.uni-paderborn.deAbstractThe introduction of embedded systems equipped withFPGA having a GPP contained inside them (Reconfig-urable SoC (RSoC)) create a lot of challenges to OS forresource management. In distributed RSoCs, different ap-plications may run on different RSoCs with variant resourcerequirements. Due to the variety of applications, a contin-uous change in demands from OS services (e.g. expectedresponse-time) may exist, also a continuous change in theavailability of resources (power and area). These varia-tions can be managed by enabling the OS services to adapttheir execution paths (on FPGA and GPP) depending onthe application needs and the availability of resources. Inthis paper, an algorithm for distributed RSoC systems is in-troduced that enables OS services to execute on both FPGAand GPP along with a dynamic runtime change in executionpaths of these services when needed. The algorithm relieson dynamic programming which provides single-criteriaoptima by taking each constraint alone. In the second stepthe algorithm finds a multi-criteria solution by local ex-change small parts depending on the single-criteria optimasolutions. In total a polynomial time heuristic multi-criteriaoptimization at runtime is obtained.1. IntroductionEmbedded systems have become ubiquitous with anever increasing variety of applications. Examples includeemerging multimedia standards which demand more re-sources such as power and real-time response. To meetthese demands Embedded Systems have increased in com-plexity with the appearance of heterogeneous processingunits on one Chip (System on Chip (SoC)), such as FieldProgrammable Gate Array (FPGA) with a General PurposeProcessor (GPP) contained inside ( e.g. Xilinx Virtex-IIpro). Connecting a number of such SoC to form a dis-tributed system for the sake of increased computationalpower would also increase the system complexity. Manag-ing such complex system resources(processing time, area,and power) would require an Operating System (OS)[1].It would be of great benefit, if such OS could distribute,optimize, and adapt its service to the needs of the applica-tions being executed on these systems and the availabilityof resources. As a result, an increase in the availability ofresources would be utilized for the sake of the applicationsefficiency. The OS could also utilize the available recon-figurability characteristics to perform a run time partition-ing and placement of its own services between hardware(FPGA) and software (GPP)[7, 9].For such OS to carry out these duties, it needs to find anacceptable combination of which parts of a service to beexecuted using software (GPP) and which to be executedusing hardware (FPGA). It also needs to schedule these ser-vices. This problem is well known as Hardware/Software(HW/SW) partitioning and scheduling, parts of which areknown to be NP-complete[2].In a distributed reconfigurable SoC(RSoC) environment, anOS may also be considered an overhead. Hence, the OSshould take this into account and try to minimize its re-source usage to free as much resources as possible for othertasks/applications. Moreover, if a new application demandsresources that were allocated an OS service, the OS shouldhave the possibility of changing the execution path of thatservice to adapt to the variations and use as less applica-tional demanded resources as possible. This can be doneby changing the execution path of the services at run-time.In this paper we discuss an on going research and a prelimi-nary results on such system as follows: Section 2 introducessome related work to this research; the problem definitionandtheoverviewtothesolutionisdiscussedinsection3and4 respectively. In section 5 we describe the system designand architecture. The used algorithm is explained in section2009 International Conferences on Embedded Software and Systems978-0-7695-3678-1/09 $25.00 © 2009 IEEEDOI 10.1109/ICESS.2009.384592009 International Conferences on Embedded Software and Systems978-0-7695-3678-1/09 $25.00 © 2009 IEEEDOI 10.1109/ICESS.2009.384592009 International Conferences on Embedded Software and Systems978-0-7695-3678-1/09 $25.00 © 2009 IEEEDOI 10.1109/ICESS.2009.384592009 International Conferences on Embedded Software and Systems978-0-7695-3678-1/09 $25.00 © 2009 IEEEDOI 10.1109/ICESS.2009.384592009 International Conferences on Embedded Software and Systems978-0-7695-3678-1/09 $25.00 © 2009 IEEEDOI 10.1109/ICESS.2009.384612009 International Conference on Embedded Software and Systems978-0-7695-3678-1/09 $25.00 © 2009 IEEEDOI 10.1109/ICESS.2009.38461