931 resultados para Java Applets
Resumo:
Gadget-2 is a massively parallel structure formation code for cosmological simulations. In this paper, we present a Java version of Gadget-2. We evaluated the performance of the Java version by running colliding galaxies simulation and found that it can achieve around 70% of C Gadget-2's performance.
Resumo:
MPJ Express is our implementation of MPI-like bindings for Java. In this paper we discuss our intermediate buffering layer that makes use of the so-called direct byte buffers introduced in the Java New I/O package. The purpose of this layer is to support the implementation of derived datatypes. MPJ Express is the first Java messaging library that implements this feature using pure Java. In addition, this buffering layer allows efficient implementation of communication devices based on proprietary networks such as Myrinet. In this paper we evaluate the performance of our buffering layer and demonstrate the usefulness of direct byte buffers. Also, we evaluate the performance of MPJ Express against other messaging systems using Myrinet and show that our buffering layer has made it possible to avoid the overheads suffered by other Java systems such as mpiJava that relies on the Java Native Interface.
Resumo:
MPJ Express is our implementation of MPI-like bindings for Java. In this paper we discuss our intermediate buffering layer that makes use of the so-called direct byte buffers introduced in the Java New I/O package. The purpose of this layer is to support the implementation of derived datatypes. MPJ Express is the first Java messaging library that implements this feature using pure Java. In addition, this buffering layer allows efficient implementation of communication devices based on proprietary networks such as Myrinet. In this paper we evaluate the performance of our buffering layer and demonstrate the usefulness of direct byte buffers. Also, we evaluate the performance of MPJ Express against other messaging systems using Myrinet and show that our buffering layer has made it possible to avoid the overheads suffered by other Java systems such as mpiJava that relies on the Java Native Interface.
Resumo:
Since its introduction in 1993, the Message Passing Interface (MPI) has become a de facto standard for writing High Performance Computing (HPC) applications on clusters and Massively Parallel Processors (MPPs). The recent emergence of multi-core processor systems presents a new challenge for established parallel programming paradigms, including those based on MPI. This paper presents a new Java messaging system called MPJ Express. Using this system, we exploit multiple levels of parallelism - messaging and threading - to improve application performance on multi-core processors. We refer to our approach as nested parallelism. This MPI-like Java library can support nested parallelism by using Java or Java OpenMP (JOMP) threads within an MPJ Express process. Practicality of this approach is assessed by porting to Java a massively parallel structure formation code from Cosmology called Gadget-2. We introduce nested parallelism in the Java version of the simulation code and report good speed-ups. To the best of our knowledge it is the first time this kind of hybrid parallelism is demonstrated in a high performance Java application. (C) 2009 Elsevier Inc. All rights reserved.
Resumo:
In the 1990s the Message Passing Interface Forum defined MPI bindings for Fortran, C, and C++. With the success of MPI these relatively conservative languages have continued to dominate in the parallel computing community. There are compelling arguments in favour of more modern languages like Java. These include portability, better runtime error checking, modularity, and multi-threading. But these arguments have not converted many HPC programmers, perhaps due to the scarcity of full-scale scientific Java codes, and the lack of evidence for performance competitive with C or Fortran. This paper tries to redress this situation by porting two scientific applications to Java. Both of these applications are parallelized using our thread-safe Java messaging system—MPJ Express. The first application is the Gadget-2 code, which is a massively parallel structure formation code for cosmological simulations. The second application uses the finite-domain time-difference method for simulations in the area of computational electromagnetics. We evaluate and compare the performance of the Java and C versions of these two scientific applications, and demonstrate that the Java codes can achieve performance comparable with legacy applications written in conventional HPC languages. Copyright © 2009 John Wiley & Sons, Ltd.
Experimental comparison of the comprehensibility of a Z specification and its implementation in Java
Resumo:
Comprehensibility is often raised as a problem with formal notations, yet formal methods practitioners dispute this. In a survey, one interviewee said 'formal specifications are no more difficult to understand than code'. Measurement of comprehension is necessarily comparative and a useful comparison for a specification is against its implementation. Practitioners have an intuitive feel for the comprehension of code. A quantified comparison will transfer this feeling to formal specifications. We performed an experiment to compare the comprehension of a Z specification with that of its implementation in Java. The results indicate there is little difference in comprehensibility between the two. (C) 2004 Elsevier B.V. All rights reserved.
Resumo:
The ability to display and inspect powder diffraction data quickly and efficiently is a central part of the data analysis process. Whilst many computer programs are capable of displaying powder data, their focus is typically on advanced operations such as structure solution or Rietveld refinement. This article describes a lightweight software package, Jpowder, whose focus is fast and convenient visualization and comparison of powder data sets in a variety of formats from computers with network access. Jpowder is written in Java and uses its associated Web Start technology to allow ‘single-click deployment’ from a web page, http://www.jpowder.org. Jpowder is open source, free and available for use by anyone.
Resumo:
The TCABR data analysis and acquisition system has been upgraded to support a joint research programme using remote participation technologies. The architecture of the new system uses Java language as programming environment. Since application parameters and hardware in a joint experiment are complex with a large variability of components, requirements and specification solutions need to be flexible and modular, independent from operating system and computer architecture. To describe and organize the information on all the components and the connections among them, systems are developed using the extensible Markup Language (XML) technology. The communication between clients and servers uses remote procedure call (RPC) based on the XML (RPC-XML technology). The integration among Java language, XML and RPC-XML technologies allows to develop easily a standard data and communication access layer between users and laboratories using common software libraries and Web application. The libraries allow data retrieval using the same methods for all user laboratories in the joint collaboration, and the Web application allows a simple graphical user interface (GUI) access. The TCABR tokamak team in collaboration with the IPFN (Instituto de Plasmas e Fusao Nuclear, Instituto Superior Tecnico, Universidade Tecnica de Lisboa) is implementing this remote participation technologies. The first version was tested at the Joint Experiment on TCABR (TCABRJE), a Host Laboratory Experiment, organized in cooperation with the IAEA (International Atomic Energy Agency) in the framework of the IAEA Coordinated Research Project (CRP) on ""Joint Research Using Small Tokamaks"". (C) 2010 Elsevier B.V. All rights reserved.
Resumo:
I dagens näringsliv är effektiv kommunikation och informationsutbyte mellan företag en förutsättning för verksamheten. Näringslivet utmärks av förändring; företag köps upp, företag slås samman, företag samarbetar i projektform. Behovet av att integrera varandras informationssystem står i paritet med ovanstående förändringar. Ett stort problem med systemintegration är variationsrikedomen mellan informationssystemen, beträffande teknisk plattform och programspråk. Webservices erbjuder metoder att enkelt integrera olika informationssystem med varandra.I rapporten beskrivs hur webservices implementeras och vilka tekniska komponenter som ingår, samt de fördelar som webservicetekniken ger. Uppdraget från Sogeti, Borlänge var att designa och implementera en prototyp, i vilken klientapplikationer i Java och VB.NET integreras med varandra genom webservices i respektive programspråk. För analys och design har metoden UML använts. Slutsatsen av rapporten är att Java och VB.NET kan kommunicera med varandra genom webserviceteknik. Dock är integrationen mellan de två programspråken inte okomplicerad. Detta leder till slutsatsen att webservicetekniken måste standardiseras för att få ordentligt genomslag som teknik för systemintegration mellan olika programspråk.
Resumo:
Detta examensarbete går ut på att ta fram en applikation, avsedd för mobiltelefoner, där man på ett enkelt sätt kan få reda på avgångarna för Dalarnas kollektivtrafik. Det stigande bensinpriset och bilåkningens negativa miljöpåverkan ligger som grund till att Etex AB och Balanz AB vill undersöka om det går att få människor att välja bussen framför personbilen. Om man genom denna applikation kan underlätta planeringen av människors dagliga resor, hur påverkas då valet av fortskaffningsmedel?Resultatet blev en applikation där man, via sin mobiltelefon, bland annat kan ta reda på avgångar för utvalda linjer av Dalatrafiks bussar, hantera linjekartor och synkronisera avgångar med telefonens kalender. Alla tidtabeller sparas i telefonen för att minska nätverkstrafiken och för att informationen enkelt ska kunna återanvändas.Dalatrafik är det företag som ansvarar för kollektivtrafiken i Dalarna. Det finns i dagsläget ingen möjlighet att få reda på avgångarna för deras bussar om man inte har tillgång till en tidtabell eller ringer till deras kundservice. Vissa kommuner har redan lösningar för tidtabellshantering i mobiltelefonen och nu vill Etex AB och Balanz AB, som är två företag som bl.a. arbetar med trådlösa applikationer, att även Dalarna ska få ta del av detta praktiska hjälpmedel.De flesta mobiltelefoner som säljs idag har stöd för att köra applikationer, eller MIDlets som de också kallas, gjorda i J2ME (Java 2 Platform, Micro Edition). Denna teknik har tagits fram av Sun för att göra applikationer som kan köras på mindre mobila enheter såsom mobiltelefoner och handdatorer. Kombinerar man J2ME med den ökande prestandan i dagens mobiltelefoner kan avancerade applikationer t.ex. spel med 3D-grafik, webbläsare och andra nyttiga program tillverkas.
Resumo:
Este trabalho busca a implementação da replicação de objetos através da linguagem Java e de seu sistema de invocação remota de métodos (Remote Method Invocation - RMI). A partir deste sistema, define-se uma classe de replicação - a máquina de replicação – onde a implementação de grupos de objetos é estruturada de acordo com a arquitetura cliente/servidor, sendo o cliente o representante (a interface) de um grupo de objetos e os servidores representam os demais componentes do grupo. A classe de replicação atende a uma necessidade importante dos sistemas distribuídos - o desenvolvimento de aplicações tolerantes a falhas. Fundamentalmente, a tolerância a falhas é obtida por redundância e, no caso de mecanismos de tolerância a falhas por software, esta redundância significa basicamente replicação de dados, processos ou objetos. A tolerância a falhas para tal tipo de sistema é importante para garantir a transparência do mesmo, visto que, assim como um sistema distribuído pode auxiliar muito o usuário pelas facilidades oferecidas, o não cumprimento de suas atividades de acordo com o esperado pode, em algumas situações, causar-lhe transtornos e erros irrecuperáveis nas aplicações. Finalmente, como principal contribuição, este trabalho descreve e implementa a solução completa para a construção de uma biblioteca de classes que oferece a replicação de forma totalmente transparente para o usuário.
Resumo:
Este trabalho apresenta uma metodologia para a geração automática de ASICs, em VHDL, a partir da linguagem de entrada Java. Como linguagem de especificação adotou-se a Linguagem Java por esta possuir características desejáveis para especificação a nível de sistema, como: orientação a objetos, portabilidade e segurança. O sistema é especificamente projetado para suportar síntese de ASICs a partir dos modelos de computação Máquina de Estados Finita e Pipeline. Neste trabalho, adotou-se estes modelos de computação por serem mais usados em sistemas embarcados As principais características exploradas são a disponibilização da geração de ASICs para a ferramenta SASHIMI, o alto nível de abstração com que o projetista pode contar em seu projeto, as otimizações de escalonamento realizadas automaticamente, e o sistema ser capaz de abstrair diferentes modelos de computação para uma descrição em VHDL. Portanto, o ambiente permite a redução do tempo de projeto e, consequentemente, dos custos agregados, diminuindo a probabilidade de erros na elaboração do projeto, portabilidade e reuso de código – através da orientação a objetos de Java – podendo-se proteger os investimentos prévios em desenvolvimento de software. A validação desses conceitos foi realizada mediante estudos de casos, utilizando-se algumas aplicações e analisando os resultados obtidos com a geração dos ASICs.