Big memory applications such as in-memory database, denovo assembly application in the human genome sequencing area, big data analytics, and large scale scientific calculation are increasing explosively. However, the big memory system has been too expensive for many researchers and students. Therefore, methods to harvest remotely distributed memory has been considered as a cost effective way to run big memory applications in the cluster environment where computing nodes are connected via high speed network. We designed and implemented a new framework, DMIf(Distributed Memory Integrated framework), which harvests idle memory of distributed nodes in a cluster and serves it to the big memory application. The collected distributed memory will provide faster data processing in a cost-effective way for the big-data/memory application.
The speed of memory capacity expansion of the computer system has not kept up with the speed of the increase of the memory requirement of large memory applications. Also, big memory system has been too expensive for many researchers and students. Therefore, approaches to utilize remote memory has been considered as a cost effective way to run large memory applications in the cluster environment where computing nodes are connected via high speed network. For the general users of HPC cluster system who want to run large memory application without administrator's support, we suggest a user-level remote memory extension method. We designed and implemented a remote memory extension system which mapped remote memory pages to the virtual address space of the large memory application process. The system includes three components such as remote memory consumer, integrated memory manager, and memory provider. We also developed a test program and did experiment to show how good performance the user-level remote memory extension system can achieves. Through the experimental test, we will show the measured latency and bandwidth of user-level remote memory extension system for sequential access pattern and random access pattern.
Cloud computing has recently become a significant technology trend in the IT field. Among the related technologies, desktop virtualization has been applied to various commercial applications since it provides many advantages, such as lower maintenance and operation costs and higher utilization. However, the existing solutions offer a very limited performance for 3D graphics applications. Therefore, we propose a novel method in which rendering commands are not executed at the host server but rather are delivered to the client through the network and are executed by the client's graphics device. This method prominently reduces server overhead and makes it possible to provide a stable service at low cost. The results of various experiments prove that the proposed method outperforms all existing solutions.
In this paper, we propose a separated software execution system (SSES) for software as a service (SaaS). The main difference of the proposed SSES and virtual desktop solutions such as Citrix XenDesktop is that 3D rendering commands or graphic commands do not be executed at the server part but they are delivered to client via the Internet. This mechanism brings to reduces server's overhead occurred from multi-users service on 3D rendering applications. In performance experiment, the proposed SSES gets a more stable frame rate than existing virtual desktop solutions on multiple clients. In particular, the SSES shows very high performance in term of frequent screen changes. Also, as another issue, we propose a smart mechanism that servicing software list is auto-updated by processing software usage data.
With widespread use of embedded processors, there is an increasing need to develop compilers for them in a timely manner. Retargeting has been an effective approach to constructing new compilers by modifying the back-end of existing compilers. An efficient testing method for retargeted compilers using intermediate codes is proposed in this paper. The concepts of the intermediate-code-based approach are described, and it is demonstrated that the proposed approach is efficient and effective enough. We have developed an automated tool, PLOOSE, which generates test suites based on source-code coverage criteria and then reduces them based on intermediate-code coverage. In addition, case studies are presented which reveal that a test suite based on source codes can be considerably reduced using intermediate codes. Moreover, by mutation analysis, it was found that the size of the test suite has been reduced by over 90% on average, but the fault detection capability of the reduced test suites is still approximately 80% of that of the original test suites. In particular, the proposed reduction method can be useful for testing compilers in the early stage of the development of retargeted compilers.
Software virtualization allows applications and data to be put into virtual layers. We propose the method for distributing, executing and managing the customized application based on software virtualization. Customized application is composed of one or more applications, add-ons, plug-in and other various settings associated with software virtualization technique. Customized application generates the virtual boundary which separates and isolates the hard disk, memory and other resources at the execution time with a well-informed area to allow the user to write some data. So, our method ensures that customized application use a personal computer without modifying the hardware resource and without interfering with other applications in a safe state.
Application streaming is technology to stream the code of an application from a central server and run it on a client computer without downloading and installation. The application can be executed while streaming of the application code may still be in progress. However, since the software streaming is based on networks, its service is affected by network failures. Network failures may cause the streamed application to stop, and to make it worse, the client system may crash. This paper proposes a network fault-tolerant application streaming technique named Evergreen. This technique enables a client to work with the application continuously during a network failure by using the downloaded code of the previously used function. We also discuss the implementation details of the evergreen model.
Thispaper' describes a methodformanaging, visualizing andsearching personal contents distributed onthe desktop andthemultiple Websites. Personal webserver inthis systemenables userstoaccess their contents fromtheremote sites, sousers neednotupload themtothepublic webserver. We propose unified contents access methods forthevarious contents fromthemultiple sources andavisualization methodtomanage personal contents effectively. Withunified contents access methods andthevisualization method, allcontents areaccessible through thesameinterface andusers canusethemregardless of contents types orsources. Toprovide theup-to-date information inthepersonal contents management system, weimplemented thefile system/database synchronization engine.
To implement the personalized software service platform (YouFree), we use the Ruby on Rails Framework. Ruby on Rails is an excellent Web application development framework, usable for developing fast and agile web applications. It offers a number of integrated technologies and increases the productivity of web application. However, there were some weak points of ActiveRecord on Rails like limitation of find method, lazy loading problem, and so on. In this paper, we qualitatively evaluate the weak points of ActiveRecord. And we optimize the ActiveRecord to implement the YouFree. From these considerations, we can implement the more efficient YouFree system.
In this paper, we propose a web-based software management system (WebSMS) for providing the device-independent software execution environment to users. We classify software into three types based on the software execution mechanism - local software, streaming software and portable software. The proposed system merges heterogeneous software execution modules and provides web-based interface. And it minimizes the dependencies among components and provides seamless software using interface for users.
This paper describes a method for managing, visualizing and searching personal contents distributed on the desktop and the multiple Web sites. Personal Web server in this system enables users to access their contents from the remote sites, so users need not upload them to the public Web server. We propose unified contents access methods for the various contents from the multiple sources and a visualization method to manage personal contents effectively. With unified contents access methods and the visualization method, all contents are accessible through the same interface and users can use them regardless of contents types or sources. To provide the up-to-date information in the personal contents management system, we implemented the file system/database synchronization engine.
Application software streaming is a virtualization technology that enables users to use applications without installation on her/his computer. With application streaming service, a client immediately starts and uses the application as if it were installed. The application can be executed while executable codes for the application may still be streamed. Since the software streaming is based on networks, its service is affected by network failures. Network failures may cause the streamed application to stop, and to make it worse, also the system may crash because executable codes for the application can't be streamed from the streaming server. Using the Pareto principle (80 vs. 20 rule), users can be served continuously with the minimum functions that are frequently used, pre-fetched and cached if we provide a more intelligent and fault-tolerant streaming technique. This paper proposes the concept and technique named Evergreen. Using the Evergreen technique, users can continue using the streamed application while a network failure occurs, although user can access only the streamed code. We also discuss the implementation of Evergreen technique in details.