JGI '01最新文献

筛选
英文 中文
Core semantics of multithreaded Java 多线程Java的核心语义
JGI '01 Pub Date : 2001-06-01 DOI: 10.1145/376656.376806
Jeremy Manson, W. Pugh
{"title":"Core semantics of multithreaded Java","authors":"Jeremy Manson, W. Pugh","doi":"10.1145/376656.376806","DOIUrl":"https://doi.org/10.1145/376656.376806","url":null,"abstract":"Java has integrated multithreading to a far greater extent than most programming languages. It is also one of the only languages that specifies and requires safety guarantees for improperly synchronized programs. It turns out that understanding these issues is far more subtle and difficult than was previously thought. The existing specification makes guarantees that prohibit standard and proposed compiler optimizations; it also omits guarantees that are necessary for safe execution of much existing code. Some guarantees that are made (e.g., type safety) raise tricky implementation issues when running unsynchronized code on SMPs with weak memory models.\u0000This paper reviews those issues. It proposes a new core semantics for Java that allows for aggressive compiler optimization and addresses the safety and multithreading issues. Due to space constraints, certain side issues are addressed only in the full version of the semantics [8].","PeriodicalId":300882,"journal":{"name":"JGI '01","volume":"70 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116321861","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 32
ARLEQUIN: an integrated Java application ARLEQUIN:一个集成Java应用程序
JGI '01 Pub Date : 2001-06-01 DOI: 10.1145/376656.376853
Z. Stankovski
{"title":"ARLEQUIN: an integrated Java application","authors":"Z. Stankovski","doi":"10.1145/376656.376853","DOIUrl":"https://doi.org/10.1145/376656.376853","url":null,"abstract":"In the six years since Java was offered to the developer community, it has proven to be an extraordinary product of recent achievements in computer science. But Java has the reputation, especially among non-java users, to be slow and non-well suited for the development of large computer codes with intensive numerical calculations. This is the main reason for the hesitations of high-performance computer code developers to adopt it, even though the well-known qualities of this language (to build homogeneous applications - GUI, command language, numerical code - and the “write once, run anywhere” advantages) are well established.","PeriodicalId":300882,"journal":{"name":"JGI '01","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130659714","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
A scalable, robust network for parallel computing 一个可扩展的、健壮的并行计算网络
JGI '01 Pub Date : 2001-06-01 DOI: 10.1145/376656.376814
P. Cappello, Dimitros Mourloukos
{"title":"A scalable, robust network for parallel computing","authors":"P. Cappello, Dimitros Mourloukos","doi":"10.1145/376656.376814","DOIUrl":"https://doi.org/10.1145/376656.376814","url":null,"abstract":"CX, a network-based computational exchange, is presented. The system's design integrates variations of ideas from other researchers, such as work stealing, non-blocking tasks, eager scheduling, and space-based coordination. The object-oriented API is simple, compact, and cleanly separates application logic from the logic that supports interprocess communication and fault tolerance. Computations, of course, run to completion in the presence of computational hosts that join and leave the ongoing computation. Such hosts, or producers, use task caching and prefetching to overlap computation with interprocessor communication. To break a potential task server bottleneck, a network of task servers is presented. Even though task servers are envisioned as reliable, the self-organizing, scalable network of n servers, described as a sibling-connected fat tree, tolerates a sequence of n — 1 server failures. Tasks are distributed throughout the server network via a simple “diffusion” process.\u0000CX is intended as a test bed for research on automated silent auctions, reputation services, authentication services, and bonding services. CX also provides a test bed for algorithm research into network-based parallel computation.","PeriodicalId":300882,"journal":{"name":"JGI '01","volume":"38 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133927655","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 17
Impact of economics on compiler optimization 经济学对编译器优化的影响
JGI '01 Pub Date : 2001-06-01 DOI: 10.1145/376656.376751
A. Robison
{"title":"Impact of economics on compiler optimization","authors":"A. Robison","doi":"10.1145/376656.376751","DOIUrl":"https://doi.org/10.1145/376656.376751","url":null,"abstract":"Compile-time program optimizations are similar to poetry: more are written than are actually published in commercial compilers. Hard economic reality is that many interesting optimizations have too narrow an audience to justify their cost in a general-purpose compiler, and custom compilers are too expensive to write. An alternative is to allow programmers to define their own compile-time optimizations. This has already happened accidentally for C++, albeit imperfectly, in the form of template metaprogramming. This paper surveys the problems, the accidental success, and what directions future research might take to circumvent current economic limitations of monolithic compilers.","PeriodicalId":300882,"journal":{"name":"JGI '01","volume":"82 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134462303","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 46
Providing soft real-time QoS guarantees for Java threads 为Java线程提供软实时QoS保证
JGI '01 Pub Date : 2001-06-01 DOI: 10.1145/376656.376808
J. C. Pang, G. Shoja, E. Manning
{"title":"Providing soft real-time QoS guarantees for Java threads","authors":"J. C. Pang, G. Shoja, E. Manning","doi":"10.1145/376656.376808","DOIUrl":"https://doi.org/10.1145/376656.376808","url":null,"abstract":"The Java platform has many characteristics that make it very desirable for integrated continuous media processing. Unfortunately, it lacks the necessary CPU resource management facility to support quality of service guarantees for soft real-time multimedia tasks. In this paper, we present our new Java Virtual Machine, Q-JVM, which brings CPU resource management to the Java platform. Q-JVM is based on Sun's JVM version 1.1.5. It implements an enhanced version or the MTR-LS algorithm in its thread scheduler. Combined with admission control that could be implemented in an application-level resource manager, it is able to support QoS parameters such as fairness, bandwidth partitioning and delay bound guarantees, as well as the cumulative service guarantee. Our test results show that Q-JVM is backward compatible with the standard JVM from Sun, has low scheduling overhead, and is able to provide QoS guarantees as specified.","PeriodicalId":300882,"journal":{"name":"JGI '01","volume":"160 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122795277","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Integration and applications of the TAU performance system in parallel Java environments 并行Java环境下TAU性能系统的集成与应用
JGI '01 Pub Date : 2001-06-01 DOI: 10.1145/376656.376817
S. Shende, A. Malony
{"title":"Integration and applications of the TAU performance system in parallel Java environments","authors":"S. Shende, A. Malony","doi":"10.1145/376656.376817","DOIUrl":"https://doi.org/10.1145/376656.376817","url":null,"abstract":"Parallel Java environments present challenging problems for performance tools because of Java's rich language system and its multi-level execution platform combined with the integration of native-code application libraries and parallel runtime software. In addition to the desire to provide robust performance measurement and analysis capabilities for the Java language itself, the coupling of different software execution contexts under a uniform performance model needs careful consideration of how events of interest are observed and how cross-context parallel execution information is linked. This paper relates our experience in extending the TAU performance system to a parallel Java environment based on mpiJava. We describe the complexities of the instrumentation model used, how performance measurements are made, and the overhead incurred. A parallel Java application simulating the game of Life is used to show the performance system's capabilities.","PeriodicalId":300882,"journal":{"name":"JGI '01","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127618230","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 16
CartaBlanca— a pure-Java, component-based systems simulation tool for coupled non-linear physics on unstructured grids CartaBlanca——一个纯java的,基于组件的系统仿真工具,用于耦合非结构化网格上的非线性物理
JGI '01 Pub Date : 2001-06-01 DOI: 10.1145/376656.376836
W. VanderHeyden, E. Dendy, N. T. Padial-Collins
{"title":"CartaBlanca— a pure-Java, component-based systems simulation tool for coupled non-linear physics on unstructured grids","authors":"W. VanderHeyden, E. Dendy, N. T. Padial-Collins","doi":"10.1145/376656.376836","DOIUrl":"https://doi.org/10.1145/376656.376836","url":null,"abstract":"This paper describes a component-based non-linear physical system simulation prototyping package written entirely in Java using object-oriented design to provide scientists and engineers a “developer-friendly” software environment for large-scale computational method and physical model development. The software design centers on the Jacobian-Free Newton-Krylov solution method surrounding a finite-volume treatment of conservation equations. This enables a clean component-based implementation. We first provide motivation for the development of the software and then describe software structure. Discussion of software structure includes a description of the use of Java's built-in thread facility that enables data-parallel, shared-memory computations on a wide variety of unstructured grids with triangular, quadrilateral, tetrahedral and hexahedral elements. We also discuss the use of Java's inheritance mechanism in the construction of a hierarchy of physics-systems objects and linear and non-linear solver objects that simplify development and foster software re-use. As a compliment to the discussion of these object hierarchies, we provide a brief review of the Jacobian-Free Newton-Krylov nonlinear system solution method and discuss how it fits into our design. Following this, we show results from preliminary calculations and then discuss future plans including the extension of the software to distributed memory computer systems.","PeriodicalId":300882,"journal":{"name":"JGI '01","volume":"116 4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117313619","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 15
Sapphire: copying GC without stopping the world 蓝宝石:复制GC而不停止世界
JGI '01 Pub Date : 2001-06-01 DOI: 10.1145/376656.376810
Richard L. Hudson, J. E. Moss
{"title":"Sapphire: copying GC without stopping the world","authors":"Richard L. Hudson, J. E. Moss","doi":"10.1145/376656.376810","DOIUrl":"https://doi.org/10.1145/376656.376810","url":null,"abstract":"Many concurrent garbage collection (GC) algorithms have been devised, but few have been implemented and evaluated, particularly for the Java programming language. Sapphire is an algorithm we have devised for concurrent copying GC. Sapphire stresses minimizing the amount of time any given application thread may need to block to support the collector. In particular, Sapphire is intended to work well in the presence of a large number of application threads, on small- to medium-scale shared memory multiprocessors. A specific problem that Sapphire addresses is not stopping all threads while thread stacks are adjusted to account for copied objects (in GC parlance, the “flip” to the new copies).\u0000Sapphire extends previous algorithms, and is most closely related to replicating copying collection, a GC technique in which application threads observe and update primarily the old copies of objects [13]. The key innovations of Sapphire are: (1) the ability to “flip” one thread at a time (changing the thread's view from the old copies of objects to the new copies), as opposed to needing to stop all threads and flip them at the same time; and (2) avoiding a read barrier.","PeriodicalId":300882,"journal":{"name":"JGI '01","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122346861","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 67
Object-based collective communication in Java Java中基于对象的集体通信
JGI '01 Pub Date : 2001-06-01 DOI: 10.1145/376656.376799
A. Nelisse, T. Kielmann, H. Bal, J. Maassen
{"title":"Object-based collective communication in Java","authors":"A. Nelisse, T. Kielmann, H. Bal, J. Maassen","doi":"10.1145/376656.376799","DOIUrl":"https://doi.org/10.1145/376656.376799","url":null,"abstract":"CCJ is a communication library that adds MPI-like collective operations to Java. Rather than trying to adhere to the precise MPI syntax, CCJ aims at a clean integration of collective communication into Java's object-oriented framework. For example, CCJ uses thread groups to support Java's multithreading model and it allows any data structure (not just arrays) to be communicated. CCJ is implemented entirely in Java, on top of RMI, so it can be used with any Java virtual machine. The paper discusses three parallel Java applications that use collective communication. It compares the performance (on top of a Myrinet cluster) of CCJ, RMI and mpiJava versions of these applications, and also compares the code complexity of the CCJ and RMI versions. The results show that the CCJ versions are significantly simpler than the RMI versions and obtain a good performance.","PeriodicalId":300882,"journal":{"name":"JGI '01","volume":"75 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132944643","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 26
Implementation of a portable software DSM in Java 一个可移植软件DSM的Java实现
JGI '01 Pub Date : 2001-06-01 DOI: 10.1145/376656.376845
Y. Sohda, H. Nakada, S. Matsuoka
{"title":"Implementation of a portable software DSM in Java","authors":"Y. Sohda, H. Nakada, S. Matsuoka","doi":"10.1145/376656.376845","DOIUrl":"https://doi.org/10.1145/376656.376845","url":null,"abstract":"Rapid commoditization of advanced hardware and progress of networking technology is now making wide area high-performance computing a.k.a. the 'Grid' Computing a reality. Since a Grid will consist of vastly heterogeneous sets of compute nodes, especially commodity clusters, some have articulated the use of Java as a suitable technology to satisfy portability across different machines. Since Java's natural model parallelism is shared memory multithreading, one will have to support distributed shared memory (DSM) in a portable manner; however, none of the previous work on implementing Java on DSM has been a portable solution. Instead, we propose a software architecture whose goal is to achieve portability of DSM implementations across different commodity clustering platforms, while restricting the programming model somewhat, and implemented a prototype system, JDSM. Benchmark results show that the current implementation on Java incurs increased memory coherency maintenance cost compared to C-based DSMs, thus limiting scalability to some degree, and we are currently working on a solution to alleviate this cost.","PeriodicalId":300882,"journal":{"name":"JGI '01","volume":"214 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115233009","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 27
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书