Author
|
Conference
|
Journal
|
Organization
|
Year
|
DOI
Look for results that meet for the following criteria:
since
equal to
before
between
and
Search in all domains
Limit my searches in the following domains
Agriculture Science
Arts & Humanities
Biology
Chemistry
Computer Science
Economics & Business
Engineering
Environmental Sciences
Geosciences
Material Science
Mathematics
Medicine
Physics
Social Science
Multidisciplinary
Keywords
(10)
Code Generation
Constraint Logic Programs
Constraint Satisfaction
Declarative Languages
Declarative Programming
Device Driver
Efficient Algorithm
Operating System
reconfigurable hardware
Close Coupling
Subscribe
Academic
Publications
A declarative language approach to device configuration
Edit
A declarative language approach to device configuration
BibTex
|
RIS
|
RefWorks
Download
Adrian Schüpbach
,
Andrew Baumann
,
Timothy Roscoe
,
Simon Peter
C remains the language of choice for hardware programming (device drivers, bus configuration, etc.): it is fast, allows low-level access, and is trusted by OS developers. However, the algorithms required to configure and reconfigure hardware devices and interconnects are becoming more complex and diverse, with the added burden of legacy support, quirks, and hardware bugs to work around. Even programming PCI bridges in a modern PC is a surprisingly complex problem, and is getting worse as new functionality such as hotplug appears. Existing approaches use relatively simple algorithms, hard-coded in C and closely coupled with low-level register access code, generally leading to suboptimal configurations. We investigate the merits and drawbacks of a new approach: separating hardware configuration logic (algorithms to determine configuration parameter values) from mechanism (programming device registers). The latter we keep in C, and the former we encode in a
declarative programming
language with constraint-satisfaction extensions. As a test case, we have implemented full PCI configuration, resource allocation, and interrupt assignment in the Barrelfish research operating system, using a concise expression of efficient algorithms in constraint logic programming. We show that the approach is tractable, and can successfully configure a wide range of PCs with competitive runtime cost. Moreover, it requires about half the code of the C-based approach in Linux while offering considerably more functionality. Additionally it easily accommodates adaptations such as hotplug, fixed regions, and quirks.
Conference:
Architectural Support for Programming Languages and Operating Systems - ASPLOS
, pp. 119-132, 2011
DOI:
10.1145/1950365.1950382
Cumulative
Annual
View Publication
The following links allow you to view full publications. These links are maintained by other sources not affiliated with Microsoft Academic Search.
(
portal.acm.org
)
(
portal.acm.org
)
(
www.informatik.uni-trier.de
)
(
doi.acm.org
)
More »
References
(16)
Constraint logic programming using Eclipse
(
Citations: 86
)
Krzysztof R. Apt
,
Mark Wallace
Published in 2007.
Transforming policies into mechanisms with infokernel
(
Citations: 26
)
Andrea C. Arpaci-Dusseau
,
Remzi H. Arpaci-Dusseau
,
Nathan C. Burnett
,
Timothy E. Denehy
,
Thomas J. Engle
,
Haryadi S. Gunawi
,
James A. Nugent
,
Florentina I. Popovici
Conference:
ACM Symposium on Operating Systems Principles - SOSP
, pp. 90-105, 2003
Expert systems for configuration at Digital: XCON and beyond
(
Citations: 138
)
Virginia E. Barker
,
Dennis E. O'Connor
,
Judith Bachant
,
Elliot Soloway
Journal:
Communications of The ACM - CACM
, vol. 32, no. 3, pp. 298-318, 1989
The multikernel: a new OS architecture for scalable multicore systems
(
Citations: 38
)
Andrew Baumann
,
Paul Barham
,
Pierre-évariste Dagand
,
Timothy L. Harris
,
Rebecca Isaacs
,
Simon Peter
,
Timothy Roscoe
,
Adrian Schüpbach
,
Akhilesh Singhania
Conference:
ACM Symposium on Operating Systems Principles - SOSP
, pp. 29-44, 2009
PCI Express System Architecture
(
Citations: 32
)
R. Budruk
,
D. Anderson
,
T. Shanley
Published in 2003.