diff options
author | Bjoern Brandenburg <bbb@Serenity.local> | 2008-07-19 08:07:49 -0400 |
---|---|---|
committer | Bjoern Brandenburg <bbb@Serenity.local> | 2008-07-19 08:07:49 -0400 |
commit | e7b02b1bfc866f39ee2916f6870f73f5f6447863 (patch) | |
tree | 2594db690f4fe431cd89c6b69157d5c74d12cab2 | |
parent | b3386bc5a3f1e45bb779bc9c977aeb7530f52b6f (diff) |
get rid of the old homepage
-rw-r--r-- | index.html | 423 |
1 files changed, 0 insertions, 423 deletions
diff --git a/index.html b/index.html deleted file mode 100644 index bc7e42d..0000000 --- a/index.html +++ /dev/null | |||
@@ -1,423 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="utf-8" ?> | ||
2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | ||
3 | <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> | ||
4 | <head> | ||
5 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> | ||
6 | <meta name="verify-v1" content="pZNmf5XyUUfAPdlSPbFSavMUsLgVsmBYOXzOhbIy2gw=" /> | ||
7 | <link rel="stylesheet" type="text/css" href="inc/format.css"/> | ||
8 | <title>LITMUS RT: Linux Testbed for Multiprocessor Scheduling in Real-Time Systems</title> | ||
9 | </head> | ||
10 | <body> | ||
11 | <!--<h1>LITMUS<sup>RT</sup>: Linux Testbed for Multiprocessor Scheduling in Real-Time Systems</h1>--> | ||
12 | <div class="logobox"> | ||
13 | <img src="inc/litmusrt.png" alt="LITMUS^RT: Linux Testbed for Multiprocessor Scheduling in Real-Time Systems" /> | ||
14 | <p class="authors"> | ||
15 | <a href="http://www.cs.unc.edu/~anderson/">Dr. James H. Anderson & | ||
16 | Students</a>, | ||
17 | <a href="http://www.unc.edu">The University of North Carolina at Chapel Hill</a> | ||
18 | </p> | ||
19 | |||
20 | </div> | ||
21 | |||
22 | <div class="nav"> | ||
23 | <p> | ||
24 | <a href="#about">about</a> - | ||
25 | <a href="#support">support</a> - | ||
26 | <a href="#collaborators">collaborators</a> - | ||
27 | <a href="#publications">publications</a> - | ||
28 | <a href="#download">download</a> - | ||
29 | <a href="#install">installation</a> - | ||
30 | <a href="#links">documentation</a> | ||
31 | </p> | ||
32 | </div> | ||
33 | |||
34 | |||
35 | |||
36 | <h2 id="about">About</h2> | ||
37 | <div class="box"> | ||
38 | <p class="nomargin"> | ||
39 | The LITMUS<sup>RT</sup> project is a soft real-time extension of the Linux | ||
40 | kernel with focus on multiprocessor real-time scheduling and | ||
41 | synchronization. The Linux kernel (currently, version 2.6.20) is modified | ||
42 | to support the sporadic task | ||
43 | model and modular scheduler plugins. Both partitioned and global scheduling | ||
44 | is supported. In the current version (2007.3), plugins for the following | ||
45 | scheduling policies are included: | ||
46 | </p> | ||
47 | <ul> | ||
48 | <li> Partitioned EDF (P-EDF)</li> | ||
49 | <li> Partitioned EDF with synchronization support (PSN-EDF)</li> | ||
50 | <li> Global EDF (G-EDF)</li> | ||
51 | <li> Global EDF with synchronization support (GSN-EDF)</li> | ||
52 | <li> Global non-preemptive EDF (G-NP-EDF)</li> | ||
53 | <li> Global Feedback-Controlled EDF (FC-EDF)</li> | ||
54 | <li> EDF for heterogeneous task systems (EDF-HSB)</li> | ||
55 | <li> PFAIR (both staggered and aligned quanta are supported)</li> | ||
56 | </ul> | ||
57 | <p> | ||
58 | The latest public release of LITMUS<sup>RT</sup> occurred on 01/28/2008. | ||
59 | <em>This is the last release of the 2007 series.</em> The next | ||
60 | LITMUS<sup>RT</sup> release will be based on Linux 2.6.24. | ||
61 | </p> | ||
62 | </div> | ||
63 | |||
64 | <h2 id="support">Support</h2> | ||
65 | <div class="box"> | ||
66 | <p class="nomargin"> | ||
67 | The LITMUS<sup>RT</sup> development effort is being supported by grants from | ||
68 | Intel Corp., IBM Corp., The National Science Foundation (grant CCR 0615197), and The U.S. | ||
69 | Army Research Office (grant W911NF-06-1-0425). | ||
70 | </p> | ||
71 | </div> | ||
72 | |||
73 | <h2 id="collaborators">Collaborators</h2> | ||
74 | <div class="box"> | ||
75 | <p class="nomargin"> The LITMUS<sup>RT</sup> project is led by <a | ||
76 | href="http://www.cs.unc.edu/~anderson/">Dr. James H. Anderson</a>. The | ||
77 | implementation effort is carried out by students of the | ||
78 | <a href="http://www.cs.unc.edu/rt">Real-Time Systems | ||
79 | Group</a> at the <a href="http://www.unc.edu">University of North Carolina | ||
80 | at Chapel Hill</a>: | ||
81 | </p> | ||
82 | <ul> | ||
83 | |||
84 | <li> <a href="http://www.cs.unc.edu/~block/">Aaron D. Block</a> | ||
85 | </li> | ||
86 | |||
87 | <li> <a href="http://www.cs.unc.edu/~bbb/">Björn B. Brandenburg</a> | ||
88 | </li> | ||
89 | |||
90 | <li> <a href="http://www.cs.unc.edu/~jmc/">John M. Calandrino</a> | ||
91 | </li> | ||
92 | |||
93 | <li> <a href="http://www.cs.unc.edu/~uma/">UmaMaheswari Devi</a> <em>(graduated | ||
94 | Dec. 2006)</em> | ||
95 | </li> | ||
96 | |||
97 | <li> <a href="http://www.cs.unc.edu/~leontyev/">Hennadiy Leontyev</a> | ||
98 | </li> | ||
99 | |||
100 | </ul> | ||
101 | |||
102 | </div> | ||
103 | |||
104 | |||
105 | <h2 id="publications">Publications</h2> | ||
106 | <div class="box"> | ||
107 | |||
108 | <ul class="nomargin"> | ||
109 | |||
110 | |||
111 | <li> | ||
112 | <p> | ||
113 | A. Block, B. Brandenburg, J. Anderson, and S. Quint, "An Adaptive Framework for Multiprocessor Real-Time Systems", in submission, January 2008. | ||
114 | <a href="http://www.cs.unc.edu/~anderson/papers/ecrts08b.ps">Postscript</a>. | ||
115 | <a href="http://www.cs.unc.edu/~anderson/papers/ecrts08b.pdf">PDF</a>. | ||
116 | </p> | ||
117 | </li> | ||
118 | |||
119 | |||
120 | |||
121 | <li> | ||
122 | <p> | ||
123 | B. Brandenburg, J. Calandrino, A. Block, H. Leontyev, and | ||
124 | J. Anderson. "Real-Time Synchronization on Multiprocessors: To Block | ||
125 | or Not to Block, to Suspend or Spin?", <cite> | ||
126 | Proceedings of the 14th IEEE Real-Time and Embedded Technology and Applications Symposium</cite>, to appear, | ||
127 | April 2008. | ||
128 | <a href="http://www.cs.unc.edu/~anderson/papers/rtas08a.ps">Postscript</a>, | ||
129 | <a href="http://www.cs.unc.edu/~anderson/papers/rtas08a.pdf">PDF</a>. | ||
130 | </p> | ||
131 | <p> | ||
132 | Extended version, including all graphs: | ||
133 | <a href="http://www.cs.unc.edu/~anderson/papers/rtas08along.ps">Postscript</a>, | ||
134 | <a href="http://www.cs.unc.edu/~anderson/papers/rtas08along.pdf">PDF</a>. | ||
135 | </p> | ||
136 | </li> | ||
137 | |||
138 | <li> | ||
139 | <p> | ||
140 | B. Brandenburg, A. Block, J. Calandrino, U. Devi, H. Leontyev, and J. Anderson, | ||
141 | " LITMUS<sup>RT</sup>: A Status Report ", <cite> Proceedings of the 9th | ||
142 | Real-Time Linux Workshop</cite>, pp. 107-123, November 2007. | ||
143 | <a href="http://www.cs.unc.edu/~anderson/papers/rtlws07.ps">Postscript</a>. | ||
144 | <a href="http://www.cs.unc.edu/~anderson/papers/rtlws07.pdf">PDF</a>. | ||
145 | </p> | ||
146 | </li> | ||
147 | |||
148 | <li> | ||
149 | <p> | ||
150 | B. Brandenburg and J. Anderson, "Integrating Hard/Soft Real-Time Tasks | ||
151 | and Best-Effort Jobs on Multiprocessors", <cite> Proceedings of the 19th Euromicro | ||
152 | Conference on Real-Time Systems</cite>, July 2007, to appear. | ||
153 | <a href="http://www.cs.unc.edu/~anderson/papers/ecrts07b.ps">Postscript</a>, | ||
154 | <a href="http://www.cs.unc.edu/~anderson/papers/ecrts07b.pdf">PDF</a>. | ||
155 | </p> | ||
156 | </li> | ||
157 | |||
158 | |||
159 | <li> | ||
160 | <p> | ||
161 | J. Calandrino, H. Leontyev, A. Block, U. Devi, and J. Anderson, | ||
162 | "LITMUS<sup>RT</sup>: A Testbed for Empirically Comparing Real-Time | ||
163 | Multiprocessor Schedulers ", <cite>Proceedings of the 27th IEEE Real-Time Systems | ||
164 | Symposium</cite>, pp. 111-123, December 2006. | ||
165 | <a href="http://www.cs.unc.edu/~anderson/papers/rtss06b.ps">Postscript</a>, | ||
166 | <a href="http://www.cs.unc.edu/~anderson/papers/rtss06b.pdf">PDF</a>. | ||
167 | </p> | ||
168 | </li> | ||
169 | |||
170 | </ul> | ||
171 | </div> | ||
172 | |||
173 | <h2 id="download">Download</h2> | ||
174 | <div class="box"> | ||
175 | <p class="notopmargin"> | ||
176 | The source code of LITMUS<sup>RT</sup> is made available as open source | ||
177 | under the terms of the <a href="http://www.gnu.org/licenses/gpl.txt">GNU | ||
178 | General Public License (GPL)</a>. | ||
179 | </p> | ||
180 | <p> | ||
181 | The latest version of LITMUS<sup>RT</sup> is 2007.3 and was released on 01/28/2008. | ||
182 | It consists of | ||
183 | our Linux kernel modifications in the form of | ||
184 | a patch against Linux 2.6.20, | ||
185 | <span class="src">liblitmus</span>, the user-space API for real-time tasks, | ||
186 | and <span class="src">libso</span>, a library for shared objects that | ||
187 | provides synchronization primitives suitable for real-time tasks. | ||
188 | </p> | ||
189 | |||
190 | <ul> | ||
191 | <li> | ||
192 | 2007.3 (January 2008)<br/> | ||
193 | Based on Linux 2.6.20. (see <a href="#install">Section Install</a> | ||
194 | below) <br/> | ||
195 | Files: | ||
196 | <ul> | ||
197 | <li><a href="download/2007.3/litmus-rt-2007.3.patch">litmus-rt-2007.3.patch</a> (344 KB)</li> | ||
198 | <li><a href="download/2007.3/liblitmus-2007.3.tgz">liblitmus-2007.3.tgz</a> | ||
199 | (14 KB)</li> | ||
200 | <li><a href="download/2007.3/libso-2007.3.tgz">libso-2007.3.tgz</a> | ||
201 | (15 KB)</li> | ||
202 | <li><a href="download/2007.3/SHA256SUMS">SHA256 check sums.</a> | ||
203 | </li> | ||
204 | </ul> | ||
205 | </li> | ||
206 | <li> | ||
207 | Major changes: | ||
208 | <ul> | ||
209 | <li> | ||
210 | Support for multi-threaded real-time applications added. The | ||
211 | use of <span class="src">libso</span> is no longer required. | ||
212 | </li> | ||
213 | <li> | ||
214 | All allocations (semaphores, etc.) are now dynamic. No more | ||
215 | running out of resources. | ||
216 | </li> | ||
217 | <li> | ||
218 | Real-Time tasks do not have be launched with | ||
219 | <span class="src">rt_launch</span> anymore. Instead, a new | ||
220 | <span class="src">task_mode()</span> API was introduced that | ||
221 | allows (Linux) tasks to transition in and out of | ||
222 | background task mode (std. Linux task) and LITMUS<sup>RT</sup> | ||
223 | real-time task. | ||
224 | </li> | ||
225 | <li> | ||
226 | Many bug fixes. | ||
227 | </li> | ||
228 | </ul> | ||
229 | </li> | ||
230 | </ul> | ||
231 | |||
232 | <p class="nobottommargin"> | ||
233 | Please note that the current implementation is a <em>prototype</em> with | ||
234 | certain limitations. Most notably, it is not secure in a multiuser context, | ||
235 | <em>i.e.</em>, real-time system calls do not require superuser | ||
236 | privileges. Further, some resources (<em>e.g.</em> semaphores) that | ||
237 | should be dynamically allocated are allocated statically in the current version. | ||
238 | </p> | ||
239 | |||
240 | <p class="nobottommargin"> | ||
241 | Old releases: | ||
242 | </p> | ||
243 | |||
244 | <ul> | ||
245 | <li> 2007.2 (November 2007)<br/> | ||
246 | Based on Linux 2.6.20. <br/> | ||
247 | <a href="download/litmus-rt-2007.2.patch">litmus-rt-2007.2.patch</a> | ||
248 | (328 KB)<br/> | ||
249 | <a href="download/liblitmus-2007.2.tgz">liblitmus-2007.2.tgz</a> | ||
250 | (11 KB) <br/> | ||
251 | <a href="download/libso-2007.2.tgz">libso-2007.2.tgz</a> | ||
252 | (16 KB) <br/><br/> | ||
253 | </li> | ||
254 | |||
255 | <li> 2007.1 (May 2007)<br/> | ||
256 | Based on Linux 2.6.20. <br/> | ||
257 | <a href="download/litmus-rt-2007.1.patch">litmus-rt-2007.1.patch</a> | ||
258 | (266 KB) <br/> | ||
259 | <a href="download/liblitmus-2007.1.tgz">liblitmus-2007.1.tgz</a> | ||
260 | (6.8 KB) <br/> | ||
261 | <a href="download/libso-2007.1.tgz">libso-2007.1.tgz</a> | ||
262 | (16 KB) <br/> | ||
263 | </li> | ||
264 | </ul> | ||
265 | |||
266 | </div> | ||
267 | |||
268 | |||
269 | <h2 id="install">Installation</h2> | ||
270 | <div class="box"> | ||
271 | <p class="notopmargin"> | ||
272 | The current release of LITMUS<sup>RT</sup>, version 2007.2, consists of an | ||
273 | extension of the Linux kernel that adds support for the sporadic task | ||
274 | model, a scheduler plugin infrastructure, and some scheduler plugins, as | ||
275 | well as two user-space libraries that provide the LITMUS<sup>RT</sup> | ||
276 | real-time API. Note, that the current implementation only works on the | ||
277 | Intel x86 architecture. | ||
278 | </p> | ||
279 | <h3>Patching the Kernel</h3> | ||
280 | <p class="notopmargin"> | ||
281 | The extension to the Linux kernel is released as a patch against Linux | ||
282 | 2.6.20. To install the LITMUS<sup>RT</sup> kernel, first <a | ||
283 | href="http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2">download the Linux | ||
284 | kernel 2.6.20</a> and untar it in a directory of your choice (hereafter | ||
285 | referred to as <span class="src">$DIR</span>). Second, apply the | ||
286 | LITMUS<sup>RT</sup> patch (see <a href="#download">Section Download</a>) | ||
287 | and configure, compile, and install the kernel as usual. The patch is <span | ||
288 | class="src">-p1</span> applicable. | ||
289 | To summarize, the LITMUS<sup>RT</sup> kernel can be obtained, patched, and | ||
290 | compiled with the following commands: | ||
291 | </p> | ||
292 | <pre class="shell"> | ||
293 | cd $DIR | ||
294 | # get Linux 2.6.20 | ||
295 | wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2 | ||
296 | tar xjf linux-2.6.20.tar.bz2 | ||
297 | wget http://www.cs.unc.edu/~anderson/litmus-rt/download/2007.3/litmus-rt-2007.3.patch | ||
298 | mv linux-2.6.20 litmus-rt | ||
299 | # apply the LITMUS RT patch | ||
300 | cd litmus-rt | ||
301 | patch -p1 < ../litmus-rt-2007.3.patch | ||
302 | # create a working kernel configuration with HZ=1000 | ||
303 | make gconfig | ||
304 | # compile the kernel | ||
305 | make bzImage | ||
306 | make modules | ||
307 | # proceed to install kernel, build initrd, etc. | ||
308 | ... | ||
309 | </pre> | ||
310 | <p> | ||
311 | After the kernel has been compiled and installed, the boot-loader must be | ||
312 | configured to load the desired real-time scheduler plugin at boot time (run | ||
313 | time selection of the real-time scheduler is currently not supported). The | ||
314 | real-time scheduler plugin is selected with the <span | ||
315 | class="src">rtsched</span> kernel parameter. | ||
316 | </p> | ||
317 | <pre class="shell"> | ||
318 | rtsched= {linux, pfair, part_edf, global_edf, | ||
319 | global_edf_np, edf_hsb, gsn_edf, psn_edf, adaptive} | ||
320 | </pre> | ||
321 | <p> | ||
322 | For example, on our test machine, we use the | ||
323 | following GRUB entry: | ||
324 | </p> | ||
325 | |||
326 | <pre class="shell"> | ||
327 | title Kernel 2.6.20-LITMUSRT | ||
328 | root (hd0,5) | ||
329 | kernel /boot/vmlinuz-2.6.20-LITMUSRT root=/dev/sda6 ro vga=791 rtsched=gsn_edf | ||
330 | initrd /boot/kernel-2.6.20-LITMUSRT.img | ||
331 | </pre> | ||
332 | |||
333 | <h3>Libraries</h3> | ||
334 | <p class="notopmargin"> | ||
335 | The two user-space libraries, <span class="src">liblitmus</span> and <span | ||
336 | class="src">libso</span>, provide their own makefiles and thus are easy to | ||
337 | compile. The kernel interface for real-time tasks is provided by <span | ||
338 | class="src">liblitmus</span>, which can be compiled as follows: | ||
339 | </p> | ||
340 | <pre class="shell"> | ||
341 | cd $DIR | ||
342 | wget http://www.cs.unc.edu/~anderson/litmus-rt/download/2007.3/liblitmus-2007.3.tgz | ||
343 | tar xzf liblitmus-2007.3.tgz | ||
344 | cd liblitmus | ||
345 | make | ||
346 | </pre> | ||
347 | <p> | ||
348 | The second library, <span class="src">libso</span>, provides shared object | ||
349 | and synchronization support for real-time tasks. It depends on <span | ||
350 | class="src">liblitmus</span> and must be installed in "parallel" | ||
351 | (they must have the same parent directory). The following commands will | ||
352 | obtain and compile <span class="src">libso</span>, including the test programs: | ||
353 | </p> | ||
354 | <pre class="shell"> | ||
355 | cd $DIR | ||
356 | wget http://www.cs.unc.edu/~anderson/litmus-rt/download/2007.3/libso-2007.3.tgz | ||
357 | tar xzf libso-2007.3.tgz | ||
358 | cd libso | ||
359 | make | ||
360 | make tests | ||
361 | </pre> | ||
362 | <p class="nobottommargin"> | ||
363 | Please refer to the <a href="#doc">documentation</a> on how to use the LITMUS<sup>RT</sup> | ||
364 | real-time API as provided by <span class="src">libso</span> and | ||
365 | <span class="src">liblitmus</span>. | ||
366 | </p> | ||
367 | |||
368 | </div> | ||
369 | |||
370 | |||
371 | <h2 id="doc">Documentation</h2> | ||
372 | <div class="box"> | ||
373 | |||
374 | <p class="notopmargin"> | ||
375 | Most of the documentation has yet to be written. To get an overview of | ||
376 | the architecture of the kernel extension, we recommend to read the paper | ||
377 | <a href="http://www.cs.unc.edu/~anderson/papers/rtlws07.pdf">“LITMUS<sup>RT</sup>: | ||
378 | A Status Report”</a>. | ||
379 | </p> | ||
380 | <p> | ||
381 | The user space library that provides the LITMUS<sup>RT</sup> API, | ||
382 | <span class="src">liblitmus</span>, contains two example real-time tasks | ||
383 | (<span class="src">base_task.c</span> and | ||
384 | <span class="src">base_mt_task.c</span>) | ||
385 | that both illustrate how to use the API and provide a skeleton for real-time | ||
386 | task development. To get started with development, take a look these example | ||
387 | programs. | ||
388 | </p> | ||
389 | <p class="nobottommargin"> | ||
390 | Please contact <span class="src">bbb[AT]cs.unc.edu</span> if you have any | ||
391 | questions. | ||
392 | </p> | ||
393 | |||
394 | |||
395 | </div> | ||
396 | |||
397 | <h2 id="credits">Credits</h2> | ||
398 | <div class="box"> | ||
399 | <div style="float: right;"> | ||
400 | <a href="http://validator.w3.org/check?uri=referer"><img | ||
401 | src="http://www.w3.org/Icons/valid-xhtml10" | ||
402 | alt="Valid XHTML 1.0 Strict" height="31" width="88"/></a> | ||
403 | </div> | ||
404 | |||
405 | <p class="nomargin"> | ||
406 | Linux is a registered trademark of Linus Torvalds. <br /> The | ||
407 | LITMUS<sup>RT</sup> logo was designed by <a | ||
408 | href="http://designs.primevalpress.com">Jasper McChesney</a> of <a | ||
409 | href="http://designs.primevalpress.com">Primeval Designs</a>. <br /> | ||
410 | Web design by Björn Brandenburg. | ||
411 | </p> | ||
412 | |||
413 | |||
414 | </div> | ||
415 | |||
416 | <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> | ||
417 | </script> | ||
418 | <script type="text/javascript"> | ||
419 | _uacct = "UA-3184628-1"; | ||
420 | urchinTracker(); | ||
421 | </script> | ||
422 | </body> | ||
423 | </html> | ||