String searching is at the core of many security and network applications like search engines, intrusion detection systems, virus scanners and spam filters. The growing size of on-line content and the increasing wire ...
详细信息
String searching is at the core of many security and network applications like search engines, intrusion detection systems, virus scanners and spam filters. The growing size of on-line content and the increasing wire speeds push the need for fast, and often real-time, string searching solutions. For these conditions, many software implementations (if not all) targeting conventional cache-based microprocessors do not perform well. They either exhibit overall low performance or exhibit highly variable performance depending on the types of inputs. For this reason, real-time state of the art solutions rely on the use of either custom hardware or Field-Programmable Gate Arrays (FPGAs) at the expense of overall system flexibility and programmability. This paper presents a software based implementation of the Aho-Corasick string searching algorithm on the Cray XMT multithreaded shared memory machine. Our solution relies on the particular features of the XMT architecture and on several algorithmic strategies: it is fast, scalable and its performance is virtually content-independent. On a 128-processor Cray XMT, it reaches a scanning speed of ap 28 Gbps with a performance variability below 10%. In the 10 Gbps performance range, variability is below 2.5%. By comparison, an Intel dual-socket, 8-core system running at 2.66 GHz achieves a peak performance which varies from 500 Mbps to 10 Gbps depending on the type of input and dictionary size.
Counting sort is a simple, stable and efficient sort algorithm with linear running time, which is a fundamental building block for many applications. This paper depicts the design issues of a data parallel implementat...
详细信息
Counting sort is a simple, stable and efficient sort algorithm with linear running time, which is a fundamental building block for many applications. This paper depicts the design issues of a data parallel implementation of the count sort algorithm on a commodity multiprocessor GPU using the Compute Unified Device Architecture (CUDA) platform, both from NVIDIA Corporation. The full parallel version runs much faster than any serial implementation on CPU with the loss of stability due to the limitation of the massive threads parallel model. But the thread-level parallel implementation still provides an efficient parallel sort primitive for many applications, which do not require stable sort or can be adapted for unstable subroutines.
In this paper, we propose an empirical optimization technique for one of the most important sorting routines on GPU, the radix sort, that generates highly efficient code for a number of representative NVIDIA GPUs with...
详细信息
In this paper, we propose an empirical optimization technique for one of the most important sorting routines on GPU, the radix sort, that generates highly efficient code for a number of representative NVIDIA GPUs with a wide variety of architectural specifications. Our study has been focused on the algorithmic parameters of radix sort that can be adapted to different environments and the GPU architectural factors that affect the performance of radix sort. We present a powerful empirical optimization approach that is shown to be able to find highly efficient code for different NVIDIA GPUs. Our results show that such an empirical optimization approach is quite effective at taking into account the complex interactions between architectural characteristics and that the resulting code performs significantly better than two radix sort implementations that have been shown outperforming other GPU sort routines with the maximal speedup of 33.4%.
Model driven engineering (MDE) and organic computing (OC) are fashion buzzwords these years. However, are the associated techniques in competition or complementary? We first provide some definitions about these terms ...
详细信息
ISBN:
(纸本)9781424435715
Model driven engineering (MDE) and organic computing (OC) are fashion buzzwords these years. However, are the associated techniques in competition or complementary? We first provide some definitions about these terms and then present some elements suitable for discussion during the panel.
For distributed networks which will be mass produced, such as computer systems in modern vehicles, it is crucial to find cost efficient hardware. A distributed network in a vehicle consists of several ECUs (electronic...
详细信息
For distributed networks which will be mass produced, such as computer systems in modern vehicles, it is crucial to find cost efficient hardware. A distributed network in a vehicle consists of several ECUs (electronic control unit). In this paper we consider the amount of memory needed for these ECUs. They should contain enough memory to survive several software generations, without inducing unnecessary cost of too much memory. Our earlier work shows that UML component diagrams can be used to collect enough information for estimating memory size using a functional size measurement method. This paper replicates our earlier experiment with more software components of a different type. We compare the results from the two experiments.
Since Java web applications are used widely in Internet today, the security of it becomes an outstanding problem. The attacks, including SQL injection attack, XSS attack, and etc, are great challenges for the Java app...
详细信息
Since Java web applications are used widely in Internet today, the security of it becomes an outstanding problem. The attacks, including SQL injection attack, XSS attack, and etc, are great challenges for the Java application. This paper presents the vulnerability analysis framework to detect the security hole in the Java web applications. The framework combines the techniques of the static points-to dataflow analysis, the dynamical instrument and the fuzzing test. With the cooperation of these static and dynamical analysis techniques, it can improve the efficiency and accuracy of the analysis and lower the false positive rate.
The tremendous interest of pests' information in agriculture fields has been highly rising for better quality and quantity of garden products. In this paper, we propose an XML-based multimedia pests information sy...
详细信息
The tremendous interest of pests' information in agriculture fields has been highly rising for better quality and quantity of garden products. In this paper, we propose an XML-based multimedia pests information system (XMPIS) that can easily and flexibly aggregate various interested multimedia information of pests such as pests attach condition and optimal growth condition for garden products within greenhouse based on constructed wireless sensor networks in ubiquitous agriculture (u-Agriculture). The XMPIS system can provide various system services such as greenhouse monitoring service, pests predication service, pests information management service, real-time video streaming service of greenhouse, multimedia information retrieval service for pests using our XMPIS system. To verify the good capability of our XMPIS system, we implemented GUI interface corresponding desktop and PDA mobile platform based on real greenhouse model.
Service-oriented architecture is emerging as one of the primary research areas in softwareengineering and one of the key technologies to the integration of enterprise information system, development of distributed so...
详细信息
Service-oriented architecture is emerging as one of the primary research areas in softwareengineering and one of the key technologies to the integration of enterprise information system, development of distributedsoftware system. Complexity is an important aspect for software quality assessment and must be appropriately addressed in service-oriented architecture. In this paper we introduce the features of service-oriented systems for the analysis of a system's complexity. We analyze the key aspects in measuring service-oriented systems. On the basis of complexity metrics of product metrics for service-oriented infrastructures, we improve the complexity metrics by considering factors that influence the complexity of service oriented systems. Finally, we propose a set of complexity metrics for service-oriented systems.
In this paper, the interface between MapReduce and different storage systems is proposed. MapReduce based computing platform can access various file systems by the interface without modifying the existing computing sy...
详细信息
In this paper, the interface between MapReduce and different storage systems is proposed. MapReduce based computing platform can access various file systems by the interface without modifying the existing computing system so that to simplify the construction of distributed applications. Different file systems can be configured and get quick switch by the interface. The interface is also integrated in Hadoop to make the experiments. The results show the interface can achieve different storage systems switched at the same time the data access efficiency gets better with increasing data volume. Further experiment with larger data volume will be done and the deeper development of the interface is being taken in the computing platform of our work.
With wide adoption of multi-core processor based systems, there is a need for benchmarking such systems at both application and operating system levels. Developing benchmarks for multi-core systems is a cumbersome tas...
详细信息
With wide adoption of multi-core processor based systems, there is a need for benchmarking such systems at both application and operating system levels. Developing benchmarks for multi-core systems is a cumbersome task due to underlying parallel architecture and complexity of parallel programming paradigms. In this paper, we introduce multi-core processor architecture and communication (MPAC) benchmarking library, which provides a common infrastructure for developing specification-driven micro-benchmarks, application benchmarks, and network traffic load generators. We describe the software architecture of MPAC and demonstrate its efficacy by implementing the specifications of well-known Stream and Netperf micro-benchmarks. We use these benchmarks to validate MPAC based performance measurements for single thread on Intel, AMD, and Cavium multi-core processors based platforms. We also develop a CPU micro-benchmark using our own specifications. In addition, we extend these micro-benchmarks through MPAC library to measure the scaling characteristics of our target multi-core processors based platforms.
暂无评论