CSR: Small: Operating Systems Kernels in High-Level Languages
CSR: Small: Operating Systems Kernels in High-Level Languages
批准号:
1617487
负责人:
Robert Morris
金额:
$50.0万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2016
资助国家:
美国
项目状态:
已结题
起止时间:
2016-10-01 至 2019-09-30
中文摘要
大多数软件依赖于底层操作系统内核的正确性和效率,因为内核协调对存储、网络和内存等资源的访问。内核通常是用低级语言实现的,例如,Linux内核是用C语言编写的;这样的语言效率很高,但很难正确使用。相比之下,用高级语言实现内核原则上可以减少程序员的工作量并减少错误的发生。这项研究将探索在高级语言中实现内核的成本和收益。内核使用C语言的主要原因是性能。C允许内核为内存管理、线程调度、中断等定义自己的高性能机制。相比之下,高级语言往往在这些领域规定特定的特定机制,这些机制很难更改。一个潜在的问题是,高级语言经常被垃圾回收以提高安全性,但人们普遍认为垃圾回收太慢,不能在内核中使用。这个项目将首先调查性能:用高级语言编写的内核是否可以像用C编写的内核一样快。该项目将使用GO语言实现内核,GO语言是一种类型安全的垃圾回收语言,具有良好的线程支持。然后,计划将性能与现有的C内核(如Linux、OpenBSD和FreeBSD)进行比较。预计将需要面对效率和功能挑战,特别是在对大型内核数据结构(如文件和页面缓存)使用垃圾回收方面。该项目的第二个重点领域将是利用高级语言在使用C语言时不实际的情况下实现多核内核内并行。C阻碍了瞬时线程的灵活使用,因为程序员必须提供逻辑来决定最后一个线程何时完成使用每个共享对象,然后这些共享对象可以被释放。当垃圾回收器自动执行此任务时,线程的广泛使用就容易得多。该计划是通过在多核上使用内部工作线程实现复杂的系统调用(如fork和exec)来利用GO的垃圾收集。该团队将评估由此产生的性能和可伸缩性改进是否可以超过垃圾收集和线程开销的成本。这项工作将定量揭示语言选择对内核性能的影响,这是一个目前大多以轶事形式理解的问题。垃圾收集与内核使用内存的特定方式的交互尤其值得理解。内核内并行性的研究将利用高级语言支持来利用在C内核中不切实际的技术。Broader的影响。这项工作具有广泛影响的潜力,因为大多数软件严重依赖操作系统内核提供的服务。为内核使用更好的语言可能会减少错误的流行,并增加内核开发人员提供所需新功能的简易性。提供确凿的证据支持最终转向语言技术,这应该会使内核更可靠、更容易开发,这是预期的结果。
英文摘要
Most software depends on the correctness and efficiency of the underlying operating system kernel, since the kernel mediates access to resources such as storage, network, and memory. Kernels are typically implemented in low-level languages, for example, the Linux kernel is written in the C language; such languages are efficient but difficult to use correctly. In contrast, implementing kernels in high-level languages could in principle result in both reduced programmer effort and reduced incidence of bugs. This research will explore the costs and benefits of implementing kernels in high-level languages.The main reason kernels use C is performance. C allows a kernel to define its own high-performance mechanisms for memory management, thread scheduling, interrupts, etc. In contrast, high-level languages tend to prescribe specific particular mechanisms in these areas, which are difficult to change. One potential problem is that high-level languages are often garbage-collected to improve safety, but garbage collection is widely viewed as too slow to use in kernels.This project will first investigate performance: whether a kernel written in a high-level language can be as fast as a kernel written in C. The project will implement a kernel using the Go language, a type-safe, garbage-collected language with good support for threads. Then, the plan is to compare performance with existing C kernels such as Linux, OpenBSD, and FreeBSD. It is expected there will be a need to face efficiency and functionality challenges, particularly in the use of garbage collection for large kernel data structures such as file and page caches.The project's second area of focus will be to exploit the high-level language to achieve multi-core in-kernel parallelism in situations that are not practical when using C. C impedes flexible use of transient threads, since the programmer must supply the logic to decide when the last thread has finished using each shared object, which can then be freed. Extensive use of threads is much easier when a garbage collector automates this task. The plan is to exploit Go's garbage collection by implementing complex system calls such as fork and exec using internal worker threads on multiple cores. The team will evaluate whether the resulting performance and scalability improvement can be made to outweigh the costs of garbage collection and thread overhead.Intellectual merit.This work will shed quantitative light on the effect of language choice on kernel performance, a question that is currently understood mostly anecdotally. The interaction of garbage collection with the specific ways kernels use memory is particularly worth understanding. The investigation of in-kernel parallelism will exploit high-level language support to harness techniques that are impractical in C kernels.Broader impacts.The work has the potential for broad impact because most software depends critically on services provided by the operating system kernel. Using a better language for the kernel would likely reduce the prevalence of bugs and increase the ease with which kernel developers can provide desirable new features. Providing solid evidence to support an eventual switch to language technology which ought to make kernels more reliable and easier to develop is the intended outcome.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
Collaborative Research: Drivers and effects of latent phage activation in marine SAR11
-
批准号:2201310
-
项目类别:Standard Grant
-
资助金额:$69.37万
-
财政年份:2022
-
负责人:Robert Morris
-
依托单位:
CSR: Medium: Collaborative Research: Soup: Flexible Storage and Processing for On-Line Applications
-
批准号:1704172
-
项目类别:Continuing Grant
-
资助金额:$80.0万
-
财政年份:2018
-
负责人:Robert Morris
-
依托单位:
Characterizing the contribution of bacteria from the SUP05 clade to autotrophic and heterotrophic carbon cycling across ocean gradients
-
批准号:1558483
-
项目类别:Standard Grant
-
资助金额:$84.56万
-
财政年份:2016
-
负责人:Robert Morris
-
依托单位:
Mixotrophic bacteria and the cryptic marine sulfur cycle: Mechanisms of carbon assimilation and sulfur oxidation in the Arctic96BD-19 GSO clade
-
批准号:1232840
-
项目类别:Continuing Grant
-
资助金额:$37.33万
-
财政年份:2012
-
负责人:Robert Morris
-
依托单位:
Program Development in Cybersecurity with Focus on Business and Healthcare Concepts
-
批准号:1104106
-
项目类别:Standard Grant
-
资助金额:$40.0万
-
财政年份:2011
-
负责人:Robert Morris
-
依托单位:
CSR-PSCE, SM: An Operating System for Multi-core Processors
-
批准号:0834415
-
项目类别:Continuing Grant
-
资助金额:$45.0万
-
财政年份:2008
-
负责人:Robert Morris
-
依托单位:
NeTS-FIND: User Information Architecture
-
批准号:0627065
-
项目类别:Standard Grant
-
资助金额:$40.0万
-
财政年份:2006
-
负责人:Robert Morris
-
依托单位:
SBIR Phase I: Tools for Information Retrieval and Document Classification Using Fast Phonetic Word-Spotting Technology
-
批准号:0441492
-
项目类别:Standard Grant
-
资助金额:$10.0万
-
财政年份:2005
-
负责人:Robert Morris
-
依托单位:
SEI(BIO)+II: Metadata-rich Image Databases for Biodiversity Applications
-
批准号:0430769
-
项目类别:Standard Grant
-
资助金额:$0.0万
-
财政年份:2004
-
负责人:Robert Morris
-
依托单位:
SBIR Phase I: Collaborative Product Definition Management
-
批准号:0339708
-
项目类别:Standard Grant
-
资助金额:$0.0万
-
财政年份:2004
-
负责人:Robert Morris
-
依托单位:
SBIR Phase I: Collaborative Product Definition Management
-
批准号:0421816
-
项目类别:Standard Grant
-
资助金额:$0.0万
-
财政年份:2004
-
负责人:Robert Morris
-
依托单位:
Electronic Field Guides: Building Partnerships and Informatics Tools for Species Identification and Biodiversity Monitoring
-
批准号:0416835
-
项目类别:Standard Grant
-
资助金额:$0.0万
-
财政年份:2004
-
负责人:Robert Morris
-
依托单位:
CAREER: A Robust Fully Decentralized Read/Write File System
-
批准号:0238028
-
项目类别:Standard Grant
-
资助金额:$41.08万
-
财政年份:2003
-
负责人:Robert Morris
-
依托单位:
Digital Imaging: Infusing Active Learning throughout a Science Curriculum
-
批准号:0126637
-
项目类别:Standard Grant
-
资助金额:$14.47万
-
财政年份:2002
-
负责人:Robert Morris
-
依托单位:
Electronic Field Guides: Leveraging Biodiversity Data with the Web and Mobile Tools
-
批准号:0111540
-
项目类别:Continuing Grant
-
资助金额:$62.19万
-
财政年份:2001
-
负责人:Robert Morris
-
依托单位:
ITR/IM(BIO): Biodiversity Data Discovery and Integration
-
批准号:0113058
-
项目类别:Standard Grant
-
资助金额:$49.7万
-
财政年份:2001
-
负责人:Robert Morris
-
依托单位:
SBIR PHASE I: High Temperature Proton Exchange Membrane
-
批准号:9561693
-
项目类别:Standard Grant
-
资助金额:$7.5万
-
财政年份:1996
-
负责人:Robert Morris
-
依托单位:
Image Processing and Digital Typography
-
批准号:8715960
-
项目类别:Continuing Grant
-
资助金额:$15.04万
-
财政年份:1988
-
负责人:Robert Morris
-
依托单位:
(RUI) Studies in Digital Typography (Computer Research)
-
批准号:8503154
-
项目类别:Continuing Grant
-
资助金额:$10.71万
-
财政年份:1985
-
负责人:Robert Morris
-
依托单位:
Equipment For Research in Sedimentary Petrology
-
批准号:7910409
-
项目类别:Standard Grant
-
资助金额:$0.36万
-
财政年份:1979
-
负责人:Robert Morris
-
依托单位:
国内基金
海外基金
登录
查看更多内容
昼夜节律性small RNA在血斑形成时间推断中的法医学应用研究
-
批准号:
-
项目类别:省市级项目
-
资助金额:--
-
批准年份:2024
-
负责人:
-
依托单位:
tRNA-derived small RNA上调YBX1/CCL5通路参与硼替佐米诱导慢性疼痛的机制研究
-
批准号:
-
项目类别:省市级项目
-
资助金额:10.0万元
-
批准年份:2022
-
负责人:张祥忠
-
依托单位:
Small RNA调控I-F型CRISPR-Cas适应性免疫性的应答及分子机制
-
批准号:32000033
-
项目类别:青年科学基金项目
-
资助金额:24.0万元
-
批准年份:2020
-
负责人:林平
-
依托单位:
Small RNAs调控解淀粉芽胞杆菌FZB42生防功能的机制研究
-
批准号:31972324
-
项目类别:面上项目
-
资助金额:58.0万元
-
批准年份:2019
-
负责人:高学文
-
依托单位:
变异链球菌small RNAs连接LuxS密度感应与生物膜形成的机制研究
-
批准号:81900988
-
项目类别:青年科学基金项目
-
资助金额:21.0万元
-
批准年份:2019
-
负责人:毛梦莹
-
依托单位:
肠道细菌关键small RNAs在克罗恩病发生发展中的功能和作用机制
-
批准号:31870821
-
项目类别:面上项目
-
资助金额:56.0万元
-
批准年份:2018
-
负责人:陈江宁
-
依托单位:
基于small RNA 测序技术解析鸽分泌鸽乳的分子机制
-
批准号:31802058
-
项目类别:青年科学基金项目
-
资助金额:26.0万元
-
批准年份:2018
-
负责人:麻慧
-
依托单位:
Small RNA介导的DNA甲基化调控的水稻草矮病毒致病机制
-
批准号:31772128
-
项目类别:面上项目
-
资助金额:60.0万元
-
批准年份:2017
-
负责人:吴建国
-
依托单位:
基于small RNA-seq的针灸治疗桥本甲状腺炎的免疫调控机制研究
-
批准号:81704176
-
项目类别:青年科学基金项目
-
资助金额:20.0万元
-
批准年份:2017
-
负责人:赵继梦
-
依托单位:
水稻OsSGS3与OsHEN1调控small RNAs合成及其对抗病性的调节
-
批准号:91640114
-
项目类别:重大研究计划
-
资助金额:85.0万元
-
批准年份:2016
-
负责人:何祖华
-
依托单位: