Jason Cong, Deming Chen, Yun Liang et al. · 2014
Reconfigurable devices are often employed in heterogeneous systems due to their low power and parallel processing advantages. An important usability requirement is the support of a homogeneous programming interface. Nevertheless, homogeneous programming interfaces do not eliminate the need for code tweaking to enable efficient mapping of the computation across heterogeneous architectures. In this work we propose a code optimization framework which analyzes and restructures CUDA kernels that are optimized for GPU devices in order to facilitate synthesis of high-throughput custom accelerators on FPGAs. The proposed framework enables efficient performance porting without manual code tweaking or annotation by the user. A hierarchical region graph in tandem with code motions and graph coloring of array variables is employed to restructure the kernel for high throughput execution on FP-GAs. 1.
Cited by 0
Alexandros Papakonstantinou, Deming Chen, Wen‐mei Hwu et al. · 2013
Reconfigurable devices are often employed in heterogeneous systems due to their low power and parallel processing advantages. An important usability requirement is the support of a homogeneous programming interface. Nevertheless, homogeneous programming interfaces do not eliminate the need for code tweaking to enable efficient mapping of the computation across heterogeneous architectures. In this work we propose a code optimization framework which analyzes and restructures CUDA kernels that are optimized for GPU devices in order to facilitate synthesis of high-throughput custom accelerators on FPGAs. The proposed framework enables efficient performance porting without manual code tweaking or annotation by the user. A hierarchical region graph in tandem with code motions and graph coloring of array variables is employed to restructure the kernel for high throughput execution on FPGAs.
Cited by 9
Jakub Jermář · Digital Repository (National Repository of Grey Literature) · 2007
Overview of the HelenOS operating system (basic kernel functionality, memory management, userspace support). Overview of the 64-bit SPARC V9 architecture (registers, traps, memory management unit, ASI, interrupts). Description of implementation of the HelenOS operating system for the SPARC V9 architecture (system boot, work with OpenFirmware, TLB and trap table take-over, context switching and FPU context, management of register windows and the preemptible trap handler, time management, handling I/O devices, interrupts, address spaces and virtual address translation using the page hash table, TSB, solution to the illegal virtual aliasing problem, system call support, pseudo threads, application processor start-up, spinlock implementation). Overview and comparison of Solaris and Linux implementations.
Cited by 1
Qi Li, Wei Xu, Siyue Chen et al. · 2023
This project focuses on the porting of the RISC-V xv6 kernel, originally utilized in MIT's educational context, to the LoongArch architecture. While some attempts have been made within the LoongArch community to port the xv6 kernel, a comprehensive kernel port along with a detailed porting manual remains absent. In response, this endeavor presents a holistic kernel porting solution coupled with an in-depth manual. The resulting kernel and manual not only stand as an accomplishment in themselves but also serve as valuable resources for forthcoming endeavors in the field of kernel porting.
Cited by 0
Brian J. Smith, James E. Tomayko · 1990
Abstract : The Distributed Ada Real-Time Kernel (DARK) is a mechanism for supporting the execution of distributed real-time Ada applications in embedded computer systems. It provides a solution to scheduling and distributing tasks without modifying the Ada language or vendor-supplied runtime systems. An important test of the utility of the Kernel is whether or not it can be ported to different hardware architectures and still function effectively. As part of an independent research and development project, Boeing Military Airplanes and The Wichita State University became co-acceptors of a copy of DARK for the purpose of demonstrating a part of 68000-based distributed architecture. This report describes the experiences in accomplishing the port. (Author) (kr)
Cited by 1
Tröger, Gerd · Publikation Server (Leipzig University)
Die vorliegende Arbeit behandelt grundlegende Fragen und Probleme einer Portierung des Linux Kernels auf eine neue Architektur im Umfeld Eingebetteter Systeme, sowie die speziellen Aspekte der Portierung auf die TriCore Architektur von Infineon. Besondere Beachtung erhalten dabei die technischen und personellen Voraussetzungen sowie die betroffenen Architekturkonzepte des Linux Kernels. Im Rahmen der eigentlichen Portierung wurden die wesentlichen Konzepte ausgearbeitet und der erste Teil der Implementierung unter Ber'ucksichtigung der durch die Architektur gegebenen Schwierigkeiten erledigt.
Cited by 0
Judy Bamberger, Timothy Coddington, Robert Firth et al. · 1989
Abstract : This document describes the modifications made to the Distributed Ada Real-Time Kernel (DARK) software when porting it from its original execution environment, the 68020-based testbed built at the Software Engineering Institute, to a VAX/VMS system. This document also contains information about logical extensions to the Kernel, and the impacts thereof, should the Kernel be used in operational systems. Ada, DARK, Distributed, Kernel, Operating system, Real-time.
Cited by 0
DI PROIETTO, DANIELE · Electronic Theses and Dissertations Repository (University of Pisa) · 2014
Open vSwitch (OVS) is a very popular component for experimenting with Software Defined Networking. OVS is especially useful for interconnecting virtual machines, as it eases VM migration and reconfiguration of routing in the hosting provider. A partial porting of Open vSwitch on FreeBSD platforms has already been done. Our work has been porting the kernel dataplane module, which grants superior performances, from Linux. The approach chosen involved the creation of a wrapper with minimal modifications of the original source code. This leads to better maintainability (especially in the early stages). Furthermore the wrapper could help future code porting from Linux to FreeBSD kernel. The performance of the ported module are comparable (in some cases exceed) with of the original module
Cited by 0Open access
Pratyusha. G, Ramesh N. V. K · 2014
ARM development boards are the ideal platform for accelerating the development and reducing the risk of new SoC designs. The combination of ASIC and FPGA technology in ARM boards delivers an optimal solution in terms of speed, accuracy, flexibility and cost.. The Embedded modules,based on ARM, can become very complex machines since these are meant to support varied tasks such as memory management, process management and peripheral interfaces.For seamless integration of these functional modules an OS has to be ported on these ARM based CPUs.Traditionally this OS porting is often the specialized work of third party vendors having expertise in this domain. For every new CPU architecture, the OS has to be customized, compiled and burnt into the core.With the coming of age of Linux as an embedded OS all this has changed quite significantly. Being in Open Source domain, Linux kernel can be freely downloaded and compiled for any system architecture and this includes ARM based systems also. This enables the developers to port the OS themselves. This paper describes the details of porting of Linux kernel to an ARM board.Building linux kernel,u-boot and x-loader are described in detail. SD card configuration is also described.
Cited by 0
Nick Gordon, Kevin Pedretti, Jack Lange · 2023
Cited by 0Open access
Shiyam Alalmaei, Saber Feki, David E. Keyes · Lancaster EPrints (Lancaster University) · 2017
Cited by 0
Xingyu Li, Z. J. Zhang, Zhiyun Qian et al. · 2024
Open-source software is increasingly reused, complicating the process of patching to repair bugs. In the case of Linux, a distinct ecosystem has formed, with Linux mainline serving as the upstream, stable or long-term-support (LTS) systems forked from mainline, and Linux distributions, such as Ubuntu and Android, as downstreams forked from stable or LTS systems for end-user use. Ideally, when a patch is committed in the Linux upstream, it should not introduce new bugs and be ported to all the applicable downstream branches in a timely fashion. However, several concerns have been expressed in prior work about the responsiveness of patch porting in this Linux ecosystem. In this paper, we mine the software repositories to investigate a range of Linux distributions in combination with Linux stable and LTS, and find diverse patch porting strategies and competence levels that help explain the phenomenon. Furthermore, we show concretely using three metrics, i.e., patch delay, patch rate, and bug inheritance ratio, that different porting strategies have different tradeoffs. We find that hinting tags(e.g., Cc stable tags and fixes tags) are significantly important to the prompt patch porting, but it is noteworthy that a substantial portion of patches remain devoid of these indicative tags. Finally, we offer recommendations based on our analysis of the general patch flow, e.g., interactions among various stakeholders in the ecosystem and automatic generation of hinting tags, as well as tailored suggestions for specific porting strategies.
Cited by 2Open access
Xingyu Li, Zheng Zhang, Zhiyun Qian et al. · arXiv (Cornell University) · 2024
Open-source software is increasingly reused, complicating the process of patching to repair bugs. In the case of Linux, a distinct ecosystem has formed, with Linux mainline serving as the upstream, stable or long-term-support (LTS) systems forked from mainline, and Linux distributions, such as Ubuntu and Android, as downstreams forked from stable or LTS systems for end-user use. Ideally, when a patch is committed in the Linux upstream, it should not introduce new bugs and be ported to all the applicable downstream branches in a timely fashion. However, several concerns have been expressed in prior work about the responsiveness of patch porting in this Linux ecosystem. In this paper, we mine the software repositories to investigate a range of Linux distributions in combination with Linux stable and LTS, and find diverse patch porting strategies and competence levels that help explain the phenomenon. Furthermore, we show concretely using three metrics, i.e., patch delay, patch rate, and bug inheritance ratio, that different porting strategies have different tradeoffs. We find that hinting tags(e.g., Cc stable tags and fixes tags) are significantly important to the prompt patch porting, but it is noteworthy that a substantial portion of patches remain devoid of these indicative tags. Finally, we offer recommendations based on our analysis of the general patch flow, e.g., interactions among various stakeholders in the ecosystem and automatic generation of hinting tags, as well as tailored suggestions for specific porting strategies.
Cited by 1Open access
Guo Jianxin, Wenyan Chen · 2018
In the process of embedded system development, u-boot porting is difficult to grasp, and it is difficult to achieve the normal booting of the kernel. This paper starts with the u-boot provided by the merchant and starting from the file start. S analysis u-boot booting process. Then the construction of a streamlined Bootloader test on the experimental board to deepen our understanding for the Bootloader booting process. Finally, the porting of u-boot to the experimental board is carried out. Porting starts from the supporting NOR booting, and then supports NAND booting, supports NOR FLASH, etc., until the successfully launches of the kernel in the experiment board, the successfully mounts file system. After three gradual and in-depth processes of the analyzing constructing and porting these, On the one hand, it successfully ports u-boot to the experimental board and boots the kernel, on the other hand, it also let us realizes the understanding and mastery of u-boot, which is of great significance to the future embedded development and study.
Cited by 1
Vašut, Marek · Digital Repository (National Repository of Grey Literature) · 2010
In the present work we study a process of porting the OpenBSD operating system kernel to a Palm Tungsten T|5 handheld device. The begining of this work explains main characteristics of the ARM architecture as well as the principle of internal workage of the OpenBSD kernel. The further part is then about porting the kernel, starting with bootloader development, necessary modifications of the kernel, explaining a process of developing custom drivers and installing the system. This work also explains possible common problems that may arise alongside the process. At the end is also explained a basic post-installation system setup and directions to rebuild the system from source codes on the PDA.
Cited by 0
Marek Vašut · Digital Repository (National Repository of Grey Literature) · 2010
In the present work we study a process of porting the OpenBSD operating system kernel to a Palm Tungsten T|5 handheld device. The begining of this work explains main characteristics of the ARM architecture as well as the principle of internal workage of the OpenBSD kernel. The further part is then about porting the kernel, starting with bootloader development, necessary modifications of the kernel, explaining a process of developing custom drivers and installing the system. This work also explains possible common problems that may arise alongside the process. At the end is also explained a basic post-installation system setup and directions to rebuild the system from source codes on the PDA.
Cited by 0
Marek Vašut · Digital Repository (National Repository of Grey Literature) · 2010
In the present work we study a process of porting the OpenBSD operating system kernel to a Palm Tungsten T|5 handheld device. The begining of this work explains main characteristics of the ARM architecture as well as the principle of internal workage of the OpenBSD kernel. The further part is then about porting the kernel, starting with bootloader development, necessary modifications of the kernel, explaining a process of developing custom drivers and installing the system. This work also explains possible common problems that may arise alongside the process. At the end is also explained a basic post-installation system setup and directions to rebuild the system from source codes on the PDA.
Cited by 0
Yanzhen Xing, Donghui Wang, Yulin Zhao · 2017
FreeRTOS is an open-source and portable real-time operating system which is widely used in embedded applications. As embedded system becoming more complex, porting real-time operating system kernel to the hardware platform can shorten the design cycle and receive an economizing resource use. This paper presents detailed process about the construction of an embedded system platform based on FreeRTOS and Cortex-M3 kernel processor. Afterwards, several tests are given to prove the porting method is feasible and reasonable.
Cited by 1
Sidarth Narayanan D, Josin Tom, Joshua Duncan et al. · 2025
Porting a large-scale computational code from CPUs to GPUs is a complex and time-intensive process, likely performed incrementally by multiple developers. This requires working on code sections without full knowledge of whether adjacent computations have been, or will be, ported. A minimally invasive framework is proposed that automatically minimizes memory transfers to aid the conversion of a legacy CPU code to GPUs. SYCL is leveraged to obtain hardware agnosticism. Developers focus solely on the computational characteristics of assigned code sections, while the framework optimizes data movement using lightweight metadata that tracks variable states and dynamically determines whether data transfers between CPU and GPU are necessary. Transfers of unmodified data are avoided and single-machine data ownership is enforced to guarantee data validity. This framework was utilized to port the incompressible solver of CONVERGE CFD [1], a large-scale computational fluid dynamics (CFD) code, achieving an efficient GPU implementation with minimal data transfer overhead, in a short time.
Cited by 0
Henry Massalin, Calton Pu · 1992
This paper reports on the experience of porting and re-implementing the Synthesis kernel. In addition, we also discuss some issues in the impact of multiprocessor management and virtual memory management on the new Synthesis kernel. 2 The Environment
Cited by 0