Filters








345 Hits in 3.8 sec

Safety-critical Java for embedded systems

Martin Schoeberl, Andreas Engelbredt Dalsgaard, René Rydhof Hansen, Stephan E. Korsholm, Anders P. Ravn, Juan Ricardo Rios Rivas, Tórur Biskopstø Strøm, Hans Søndergaard, Andy Wellings, Shuai Zhao
2016 Concurrency and Computation  
Section 6 presents hardware support for SCJ within JOP. Section 7 describes two tools: the memory safety analysis tool and the worst-case memory consumption analysis tool.  ...  Consequently, work on a simplification and rationalization of RTSJ started within the Java community process with a specification of Safety-Critical Java (SCJ).  ...  ACKNOWLEDGEMENT This work is part of the project "Certifiable Java for Embedded Systems" (CJ4ES) and has received partial funding from the Danish Research Council for Technology and Production Sciences  ... 
doi:10.1002/cpe.3963 fatcat:tmeskmj55jbpbbphborjywn5vy

Certifiable Java for Embedded Systems

Martin Schoeberl, Andreas Engelbredt Dalsgaard, René Rydhof Hansen, Stephan E. Korsholm, Anders P. Ravn, Juan Ricardo Rios Rivas, Tórur Biskopstø Strøm, Hans Søndergaard
2014 Proceedings of the 12th International Workshop on Java Technologies for Real-time and Embedded Systems - JTRES '14  
This paper summarizes key contributions within these areas during the three-year project period. In the conclusion the overall result of the project is assessed.  ...  The Certifiable Java for Embedded Systems (CJ4ES) project aimed to develop a prototype development environment and platform for safety-critical software for embedded applications.  ...  Source Access The two presented JVMs and the SCJ implementations on top of them are available in open source.  ... 
doi:10.1145/2661020.2661025 dblp:conf/jtres/SchoeberlDHKRRSS14 fatcat:mxmr4swd3nd7ljcjuagcitqeyi

Compiling a high-level language for GPUs

Christophe Dubach, Perry Cheng, Rodric Rabbah, David F. Bacon, Stephen J. Fink
2012 Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation - PLDI '12  
However, with these languages, programmers must explicitly manage numerous lowlevel details involving communication and synchronization.  ...  The global memory provides a shared address space for all threads on a device, with no implicit coherency guarantees across work groups.  ...  OpenCL [9] and CUDA [15] have emerged as mainstream languages for programming GPUs and multicore systems.  ... 
doi:10.1145/2254064.2254066 dblp:conf/pldi/DubachCRBF12 fatcat:fxtiaepppvdtrltftukirwuabq

Compiling a high-level language for GPUs

Christophe Dubach, Perry Cheng, Rodric Rabbah, David F. Bacon, Stephen J. Fink
2012 SIGPLAN notices  
However, with these languages, programmers must explicitly manage numerous lowlevel details involving communication and synchronization.  ...  The global memory provides a shared address space for all threads on a device, with no implicit coherency guarantees across work groups.  ...  OpenCL [9] and CUDA [15] have emerged as mainstream languages for programming GPUs and multicore systems.  ... 
doi:10.1145/2345156.2254066 fatcat:mo6ty52fwnbpdg2bhwniuaz3da

Running parallel bytecode interpreters on heterogeneous hardware

Juan Fumero, Athanasios Stratikopoulos, Christos Kotselidis
2020 Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming  
Since the early conception of managed runtime systems with tiered JIT compilation, several research attempts have been made to accelerate the bytecode execution.  ...  Our preliminary evaluation shows that under specific workloads, hardware acceleration can yield up to 17x better performance compared to traditional optimized interpreters running on Intel CPUs and up  ...  To efficiently run managed language bytecode interpreters on GPUs and FPGAs, this paper introduced the concept of parallel bytecode interpreters, in which the runtime has the notion of parallel indexing  ... 
doi:10.1145/3397537.3397563 dblp:conf/programming/FumeroSK20 fatcat:o3cu273o2rfhhf2iaivqqtpo2y

Safety-Critical Java on a Time-Predictable Processor

Stephan E. Korsholm, Martin Schoeberl, Wolfgang Puffitsch
2015 Proceedings of the 13th International Workshop on Java Technologies for Real-time and Embedded Systems - JTRES '15  
To the best of our knowledge the presented system is the second WCET analyzable real-time Java system; and the first one on top of a RISC processor.  ...  processor; (2) a C compiler for Patmos with support for WCET analysis; (3) the HVM, which is a Java-to-C compiler; (4) the HVM-SCJ implementation which supports SCJ Level 0, 1, and 2 (for both single and multicore  ...  SCJ augments the Java programming language with predictable scheduling of concurrently executing schedulables and time-predictable memory management.  ... 
doi:10.1145/2822304.2822309 dblp:conf/jtres/KorsholmSP15 fatcat:d7prxekovze7xcafooshkxdkpi

Towards co-designed optimizations in parallel frameworks: A MapReduce case study [article]

Colin Barrett and Christos Kotselidis and Mikel Luján
2016 arXiv   pre-print
This paper presents a case study demonstrating how the specific semantic information of the MapReduce paradigm can be exploited on multicore architectures.  ...  The introduced optimization not only improves the performance of the generated code, during the map phase, but also reduces the pressure on the garbage collector.  ...  ACKNOWLEDGMENTS This research was conducted with support from the UK Engineering and Physical Sciences Research Council (EP-SRC), on grants AnyScale Apps EP/L000725/1, DOME EP/ J016330/1 and PAMELA EP/  ... 
arXiv:1603.09679v1 fatcat:2zs7ryyz4nd6bammpsz5htbfzu

Hardware tansactional memory support for lightweight dynamic language evolution

Nicholas Riley, Craig Zilles
2006 Companion to the 21st ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications - OOPSLA '06  
Native extension modules' lack of thread safety is a significant barrier to dynamic languages' effective deployment on current and future multicore and multiprocessor systems.  ...  We characterize several small Python applications executing on our infrastructure.  ...  A multithreaded host application embedding a thread-unsafe dynamic language runtime may not scale well on current and future multicore and multiprocessor systems.  ... 
doi:10.1145/1176617.1176758 dblp:conf/oopsla/RileyZ06 fatcat:ghn7hmicevdh7plv7yosemiddi

Parallelizing calling context profiling in virtual machines on multicores

Walter Binder, Danilo Ansaloni, Alex Villazón, Philippe Moret
2009 Proceedings of the 7th International Conference on Principles and Practice of Programming in Java - PPPJ '09  
In this paper, we introduce the ParCCT, a novel approach to parallelizing application code and CCT generation on multicores.  ...  Our portable and extensible implementation targets standard Java Virtual Machines, thanks to instrumentation techniques that ensure complete bytecode coverage and efficiently support custom calling context  ...  Program threads execute concurrently with CCT construction, enabling parallelization on multicores.  ... 
doi:10.1145/1596655.1596672 dblp:conf/pppj/BinderAVM09 fatcat:ugqispoz7zbyxo6hygdciaafd4

Rapid development of extensible profilers for the Java virtual machine with aspect-oriented programming

Danilo Ansaloni, Walter Binder, Alex Villazón, Philippe Moret
2010 Proceedings of the first joint WOSP/SIPEW international conference on Performance engineering - WOSP/SIPEW '10  
Our profiler relies on inter-advice communication, an extension to common AOP languages that enables efficient data passing between advice woven into the same method.  ...  Many profilers for Java applications are implemented with low-level bytecode instrumentation techniques, which is tedious, error-prone, and complicates maintenance and extension of the tools.  ...  In order to speed up CCT construction on multicores, we refine the aspect so as to parallelize CCT construction and program execution.  ... 
doi:10.1145/1712605.1712616 dblp:conf/wosp/AnsaloniBVM10 fatcat:uumluwkcsvaoxccybduposlxvm

Time-predictable chip-multiprocessor design

Martin Schoeberl
2010 2010 Conference Record of the Forty Fourth Asilomar Conference on Signals, Systems and Computers  
However, most real-time systems are multi-threaded applications and performance can be improved by using several processor cores on a single chip.  ...  Real-time systems need time-predictable platforms to enable static worst-case execution time (WCET) analysis.  ...  ACKNOWLEDGMENT The author would like to thank Christof Pitter for the implementation of the CMP version of JOP during his PhD thesis and Wolfgang Puffitsch for the active development on JOP, which includes  ... 
doi:10.1109/acssc.2010.5757923 fatcat:4fklqnckwbekxltbqn63hpn5n4

Firepile

Nathaniel Nystrom, Derek White, Kishen Das
2011 Proceedings of the 10th ACM international conference on Generative programming and component engineering - GPCE '11  
For example, software running on the GPU cannot perform dynamic memory allocation, requiring the programmer to pre-allocate all memory the GPU might use.  ...  To achieve good performance, GPU programmers must also be aware of how data is moved between host and GPU memory and between the different levels of the GPU memory hierarchy.  ...  Firepile hides details of GPU programming within the library, allowing programmers to focus on the problem they wish to solve. The library performs facilities for managing devices and memory.  ... 
doi:10.1145/2047862.2047883 dblp:conf/gpce/NystromWD11 fatcat:nldbqgbcffcjdovkyamhhtu32q

Industry Use Cases For The Java Environment For Parallel Realtime Development

Frederic Lamy, Tobias Schoofs
2011 Zenodo  
Multicore systems have become standard on desktop computers today and current operating systems and software development tools provide means to actually use the additional computational power efficiently  ...  A more fundamental change, however, is required to fully exploit the power of multicore systems.  ...  , as good as explicit memory management in the code itself with a language such as C for example.  ... 
doi:10.5281/zenodo.11387 fatcat:qxqrdp5s6vferopwguuisia6h4

Boosting Java Performance Using GPGPUs [chapter]

James Clarkson, Christos Kotselidis, Gavin Brown, Mikel Luján
2017 Lecture Notes in Computer Science  
These abstractions enable the Jacc runtime system to automatically choreograph data movement and synchronization between the host and the GPGPU; eliminating the need to explicitly manage disparate memory  ...  Jacc utilizes two key abstractions: tasks which encapsulate all the information needed to execute code on a GPGPU; and task graphs which capture both inter-task control-flow and data dependencies.  ...  Memory Management As a prerequisite to execution, data must be pre-loaded into the GPGPU memory by a memory manager (an instance is assigned to each device).  ... 
doi:10.1007/978-3-319-54999-6_5 fatcat:ns5erd4sfrdixiqpuek5ssusyu

Speculative Execution of Parallel Programs with Precise Exception Semantics on GPUs [chapter]

Akihiro Hayashi, Max Grossman, Jisheng Zhao, Jun Shirako, Vivek Sarkar
2014 Lecture Notes in Computer Science  
Current approaches to enabling GPGPU computing in Java and other managed languages involve low-level interfaces to native code that compromise the semantic guarantees of managed languages, and are not  ...  In contrast, large numbers of programmers use highlevel languages, such as Java, due to their productivity advantages of type safety, managed runtimes and precise exception semantics.  ...  Overview of HJ language The Habanero Java (HJ) parallel programming language under development at Rice University [3] provides an execution model for multicore processors that builds on four orthogonal  ... 
doi:10.1007/978-3-319-09967-5_20 fatcat:cayayngzmfbfhoghxzarhr6p4q
« Previous Showing results 1 — 15 out of 345 results