Pretenuring can reduce copying costs in garbage collectors by allocating long-lived objects into regions that the garbage collector with rarely, if ever, collect. We extend previous work on pretenuring as follows. (1)...
详细信息
ISBN:
(纸本)1581133359
Pretenuring can reduce copying costs in garbage collectors by allocating long-lived objects into regions that the garbage collector with rarely, if ever, collect. We extend previous work on pretenuring as follows. (1) We produce pretenuring advice that is neutral with respect to the garbage collector algorithm and configuration. We thus can and do combine advice from different applications. We find that predictions using object lifetimes at each allocation site in java prgroams are accurate, which simplifies the pretenuring implementation. (2) We gather and apply advice to applications and the Jalapeno JVM, a compiler and run-time system for java written in java. Our results demonstrate that building combined advice into Jalapeno from different application executions improves performance regardless of the application Jalapeno is compiling and executing. This build-time advice thus gives user applications some benefits of pretenuring without any application profiling. No previous work pretenures in the run-time system. (3) We find that application-only advice also improves performance, but that the combination of build-time and application-specific advice is almost always noticeably better. (4) Our same advice improves the performance of generational and Older First colleciton, illustrating that it is collector neutral.
Several in progress real-time (RT) java projects by various companies are discussed. Two military programs are in progress and implementing RT java, while the Navy's DDX program aims to develop future warships, th...
详细信息
Several in progress real-time (RT) java projects by various companies are discussed. Two military programs are in progress and implementing RT java, while the Navy's DDX program aims to develop future warships, the Army's net-centric battlefield program links soldiers wearing helmets festooned with video cameras with each other and the battlefield commanders. Nortel and Ericsson each have used RT java to develop telecom equipment and basestations. NASA and Sun are also developing real-time specification for java (RTSJ) based control software for a Mars rover that could be deployed later in this decade.
Code language Models (CLMs), particularly those leveraging deep learning, have achieved significant success in code intelligence domain. However, the issue of security, particularly backdoor attacks, is often overlook...
详细信息
Code language Models (CLMs), particularly those leveraging deep learning, have achieved significant success in code intelligence domain. However, the issue of security, particularly backdoor attacks, is often overlooked in this process. The previous research has focused on designing backdoor attacks for CLMs, but effective defenses have not been adequately addressed. In particular, existing defense methods from natural language processing, when directly applied to CLMs, are not effective enough and lack generality, working well in some models and scenarios but failing in others, thus fall short in consistently mitigating backdoor attacks. To bridge this gap, we first confirm the phenomenon of "early learning" as a general occurrence during the training of CLMs. This phenomenon refers to that a model initially focuses on the main features of training data but may become more sensitive to backdoor triggers over time, leading to overfitting and susceptibility to backdoor attacks. We then analyze that overfitting to backdoor triggers results from the use of the cross-entropy loss function, where the unboundedness of cross-entropy leads the model to increasingly concentrate on the features of the poisoned data. Based on this insight, we propose a general and effective loss function DeCE (Deceptive Cross-Entropy) by blending deceptive distributions and applying label smoothing to limit the gradient to bounded, which prevents the model from overfitting to backdoor triggers and then enhances the security of CLMs against backdoor attacks. To evaluate the effectiveness of our defense method, we select four code-related tasks as our experiments scenes and conduct experimental analyses on both natural language and two programminglanguages (java and Python). Our experiments across multiple models with different sizes (from 125M to 7B) and poisoning ratios demonstrate the applicability and effectiveness of DeCE in enhancing the security of CLMs. The findings emphasize the potent
In this study, we assess the efficacy of employing the ChatGPT language model to generate solutions for coding exercises within an undergraduate javaprogramming course. ChatGPT, a large-scale, deep learning-driven na...
详细信息
languages such as OpenCL and CUDA offer a standard interface for general-purpose programming of GPUs. However, with these languages, programmers must explicitly manage numerous low-level details involving communicatio...
详细信息
ISBN:
(纸本)9781450312059
languages such as OpenCL and CUDA offer a standard interface for general-purpose programming of GPUs. However, with these languages, programmers must explicitly manage numerous low-level details involving communication and synchronization. This burden makes programming GPUs difficult and error-prone, rendering these powerful devices inaccessible to most programmers. We desire a higher-level programming model that makes GPUs more accessible while also effectively exploiting their computational power. This paper presents features of Lime, a new java-compatible language targeting heterogeneous systems, that allow an optimizing compiler to generate high quality GPU code. The key insight is that the language type system enforces isolation and immutability invariants that allow the compiler to optimize for a GPU without heroic compiler analysis. Our compiler attains GPU speedups between 75% and 140% of the performance of native OpenCL code.
One approach to decrease the gap between memory latency and processor speed is improving locality of data. Data layout optimization is a way to increase locality by reordering data elements in memory. Unfortunately, f...
详细信息
ISBN:
(纸本)9781467387224
One approach to decrease the gap between memory latency and processor speed is improving locality of data. Data layout optimization is a way to increase locality by reordering data elements in memory. Unfortunately, for multi-threaded applications, the issue is more complex due to the effects of false sharing. In this paper, the effect of locality and false sharing on multi-threaded applications is investigated. Therefore, fields are reordered inside java objects in such a way that improves the locality of reference among them and also decreases the estimated probability of false sharing. Considering the role of the JVM in laying out java objects fields, IBM's JVM is modified with the ability to reorganize fields based on the profiled information.
Context: Downloading the source code of open-source java projects and building them on a local computer using Maven, Gradle, or Ant is a common activity performed by researchers and practitioners. Multiple studies so ...
详细信息
Although distributed object systems, including RMI and CORBA, enable object-oriented programs to be easily distributed across a network, achieving acceptable performance usually requires client-specific optimization o...
详细信息
ISBN:
(纸本)9781424444816
Although distributed object systems, including RMI and CORBA, enable object-oriented programs to be easily distributed across a network, achieving acceptable performance usually requires client-specific optimization of server interfaces, making such systems difficult to maintain and evolve. Automatic optimization techniques, including Batched Futures and Communication Restructuring, do not work as well as hand optimization. This paper presents Batched Remote Method Invocation (BRMI), a language-level technique for clients to specify explicit batches of operations on remote objects. We have implemented BRMI for java as an extension of RMI, with support for batches with array cursors, custom exception handling, conditionals and loops. BRMI allows common design patterns, including Data Transfer Objects and Remote Object Facade, to be constructed on the fly by clients. The performance benefits of batching operations are well known;our evaluation focuses on the usability of explicit batches, but we also confirm that BRMI outpeiforms RMI and scales significantly better when clients make multiple remote calls. The applicability of BRMI is demonstrated by rewriting third-party RMI client applications to use BRMI.
Developers use search for various tasks such as finding code, documentation, debugging information, etc. In particular, web search is heavily used by developers for finding code examples and snippets during the coding...
详细信息
The ability to extend a language with new syntactic forms is a powerful tool. A sufficiently flexible macro system allows programmers to build from a common base towards a language designed specifically for their prob...
详细信息
ISBN:
(纸本)1581133359
The ability to extend a language with new syntactic forms is a powerful tool. A sufficiently flexible macro system allows programmers to build from a common base towards a language designed specifically for their problem domain. However, macro facilities that are integrated, capable, and at the same time simple enough to be widely used have been limited to the Lisp family of languages to date. In this paper we introduce a macro facility, called the java Syntactic Extender (JSE), with the superior power and ease of use of Lisp macro sytems, but for java, a language with a more conventional algebraic syntax. The design is based on the Dylan macro system, but exploits java's compilation model to offer a full procedural macro engine. In other words, syntax expanders may be implemented in, and so use all the facilities of, the full javalanguage
暂无评论