20 research outputs found

    Retargeting of existing FORTRAN program and development of parallel compilers

    Get PDF
    The software models used in implementing the parallelizing compiler for the B-HIVE multiprocessor system are described. The various models and strategies used in the compiler development are: flexible granularity model, which allows a compromise between two extreme granularity models; communication model, which is capable of precisely describing the interprocessor communication timings and patterns; loop type detection strategy, which identifies different types of loops; critical path with coloring scheme, which is a versatile scheduling strategy for any multicomputer with some associated communication costs; and loop allocation strategy, which realizes optimum overlapped operations between computation and communication of the system. Using these models, several sample routines of the AIR3D package are examined and tested. It may be noted that automatically generated codes are highly parallelized to provide the maximized degree of parallelism, obtaining the speedup up to a 28 to 32-processor system. A comparison of parallel codes for both the existing and proposed communication model, is performed and the corresponding expected speedup factors are obtained. The experimentation shows that the B-HIVE compiler produces more efficient codes than existing techniques. Work is progressing well in completing the final phase of the compiler. Numerous enhancements are needed to improve the capabilities of the parallelizing compiler

    Automatically Leveraging MapReduce Frameworks for Data-Intensive Applications

    Full text link
    MapReduce is a popular programming paradigm for developing large-scale, data-intensive computation. Many frameworks that implement this paradigm have recently been developed. To leverage these frameworks, however, developers must become familiar with their APIs and rewrite existing code. Casper is a new tool that automatically translates sequential Java programs into the MapReduce paradigm. Casper identifies potential code fragments to rewrite and translates them in two steps: (1) Casper uses program synthesis to search for a program summary (i.e., a functional specification) of each code fragment. The summary is expressed using a high-level intermediate language resembling the MapReduce paradigm and verified to be semantically equivalent to the original using a theorem prover. (2) Casper generates executable code from the summary, using either the Hadoop, Spark, or Flink API. We evaluated Casper by automatically converting real-world, sequential Java benchmarks to MapReduce. The resulting benchmarks perform up to 48.2x faster compared to the original.Comment: 12 pages, additional 4 pages of references and appendi

    Performance Comparison Of Two Data Mining Algorithms On Big Data Platforms

    Get PDF
    In this Big data era, the need for performing large-scale computations is evident. A better understanding of the most suitable platforms which can efficiently run these computations is needed. In this thesis, we attempt to compare four such big data platforms, namely Hadoop, Spark, GPU, and Multicore CPU. We compare these platforms using two prominent data mining algorithms, namely, K-means clustering and K-nearest neighbour classification and discuss specific implementation-level details. We provide several insights into the best possible implementations of these algorithms and systematically compare the benefits and drawbacks of each of these platforms. We conduct experiments by varying data size and parameters to obtain runtime and scalability performances of these platforms. Our experiments show that GPU and Multicore CPU are faster but have certain limitations. On the other hand, Hadoop and Spark are able to handle large scale datasets. We also observe that Spark performs better than Hadoop for both iterative and non-iterative jobs. In summary, we have examined different characteristics of four big data platforms and provided comparative analysis for the cases of two algorithms. Since many other data mining algorithms either use these two methods during pre-processing or as an integral component, we hope that our analysis will have impact in many other applications and algorithms beyond the ones that are being reported in this thesis

    Facilitating High Performance Code Parallelization

    Get PDF
    With the surge of social media on one hand and the ease of obtaining information due to cheap sensing devices and open source APIs on the other hand, the amount of data that can be processed is as well vastly increasing. In addition, the world of computing has recently been witnessing a growing shift towards massively parallel distributed systems due to the increasing importance of transforming data into knowledge in todayโ€™s data-driven world. At the core of data analysis for all sorts of applications lies pattern matching. Therefore, parallelizing pattern matching algorithms should be made efficient in order to cater to this ever-increasing abundance of data. We propose a method that automatically detects a userโ€™s single threaded function call to search for a pattern using Javaโ€™s standard regular expression library, and replaces it with our own data parallel implementation using Java bytecode injection. Our approach facilitates parallel processing on different platforms consisting of shared memory systems (using multithreading and NVIDIA GPUs) and distributed systems (using MPI and Hadoop). The major contributions of our implementation consist of reducing the execution time while at the same time being transparent to the user. In addition to that, and in the same spirit of facilitating high performance code parallelization, we present a tool that automatically generates Spark Java code from minimal user-supplied inputs. Spark has emerged as the tool of choice for efficient big data analysis. However, users still have to learn the complicated Spark API in order to write even a simple application. Our tool is easy to use, interactive and offers Sparkโ€™s native Java API performance. To the best of our knowledge and until the time of this writing, such a tool has not been yet implemented

    ํ˜‘์—… ๋กœ๋ด‡์„ ์œ„ํ•œ ์„œ๋น„์Šค ๊ธฐ๋ฐ˜๊ณผ ๋ชจ๋ธ ๊ธฐ๋ฐ˜์˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก 

    Get PDF
    ํ•™์œ„๋…ผ๋ฌธ(๋ฐ•์‚ฌ)--์„œ์šธ๋Œ€ํ•™๊ต ๋Œ€ํ•™์› :๊ณต๊ณผ๋Œ€ํ•™ ์ „๊ธฐยท์ปดํ“จํ„ฐ๊ณตํ•™๋ถ€,2020. 2. ํ•˜์ˆœํšŒ.๊ฐ€๊นŒ์šด ๋ฏธ๋ž˜์—๋Š” ๋‹ค์–‘ํ•œ ๋กœ๋ด‡์ด ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ•˜๋‚˜์˜ ์ž„๋ฌด๋ฅผ ํ˜‘๋ ฅํ•˜์—ฌ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ชจ์Šต์€ ํ”ํžˆ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ๋กœ ์ด๋Ÿฌํ•œ ๋ชจ์Šต์ด ์‹คํ˜„๋˜๊ธฐ์—๋Š” ๋‘ ๊ฐ€์ง€์˜ ์–ด๋ ค์›€์ด ์žˆ๋‹ค. ๋จผ์ € ๋กœ๋ด‡์„ ์šด์šฉํ•˜๊ธฐ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ช…์„ธํ•˜๋Š” ๊ธฐ์กด ์—ฐ๊ตฌ๋“ค์€ ๋Œ€๋ถ€๋ถ„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋กœ๋ด‡์˜ ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•œ ์ง€์‹์„ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๊ฐ€์ •ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋กœ๋ด‡์ด๋‚˜ ์ปดํ“จํ„ฐ์— ๋Œ€ํ•œ ์ง€์‹์ด ์—†๋Š” ์‚ฌ์šฉ์ž๋“ค์ด ์—ฌ๋Ÿฌ ๋Œ€์˜ ๋กœ๋ด‡์ด ํ˜‘๋ ฅํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ๋Š” ์‰ฝ์ง€ ์•Š๋‹ค. ๋˜ํ•œ, ๋กœ๋ด‡์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ ๋กœ๋ด‡์˜ ํ•˜๋“œ์›จ์–ด์˜ ํŠน์„ฑ๊ณผ ๊ด€๋ จ์ด ๊นŠ์–ด์„œ, ๋‹ค์–‘ํ•œ ๋กœ๋ด‡์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ„๋‹จํ•˜์ง€ ์•Š๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ์ƒ์œ„ ์ˆ˜์ค€์˜ ๋ฏธ์…˜ ๋ช…์„ธ์™€ ๋กœ๋ด‡์˜ ํ–‰์œ„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ƒˆ๋กœ์šด ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ์•ˆํ•œ๋‹ค. ๋˜ํ•œ, ๋ณธ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๋กœ๋ด‡๋ถ€ํ„ฐ ๊ณ„์‚ฐ ๋Šฅ๋ ฅ์ด ์ถฉ๋ถ„ํ•œ ๋กœ๋ด‡๋“ค์ด ์„œ๋กœ ๊ตฐ์ง‘์„ ์ด๋ฃจ์–ด ๋ฏธ์…˜์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•œ๋‹ค. ๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ๋กœ๋ด‡์˜ ํ•˜๋“œ์›จ์–ด๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•œ ์ง€์‹์ด ๋ถ€์กฑํ•œ ์‚ฌ์šฉ์ž๋„ ๋กœ๋ด‡์˜ ๋™์ž‘์„ ์ƒ์œ„ ์ˆ˜์ค€์—์„œ ๋ช…์„ธํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋ฅผ ์ œ์•ˆํ•œ๋‹ค. ์ œ์•ˆํ•˜๋Š” ์–ธ์–ด๋Š” ๊ธฐ์กด์˜ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์—์„œ๋Š” ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋„ค ๊ฐ€์ง€์˜ ๊ธฐ๋Šฅ์ธ ํŒ€์˜ ๊ตฌ์„ฑ, ๊ฐ ํŒ€์˜ ์„œ๋น„์Šค ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ๋™์ ์œผ๋กœ ๋ชจ๋“œ ๋ณ€๊ฒฝ, ๋‹ค์ค‘ ์ž‘์—…(๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น)์„ ์ง€์›ํ•œ๋‹ค. ์šฐ์„  ๋กœ๋ด‡์€ ํŒ€์œผ๋กœ ๊ทธ๋ฃน ์ง€์„ ์ˆ˜ ์žˆ๊ณ , ๋กœ๋ด‡์ด ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์„œ๋น„์Šค ๋‹จ์œ„๋กœ ์ถ”์ƒํ™”ํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ณตํ•ฉ ์„œ๋น„์Šค๋ฅผ ๋ช…์„ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ๋กœ๋ด‡์˜ ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น์„ ์œ„ํ•ด 'ํ”Œ๋žœ' ์ด๋ผ๋Š” ๊ฐœ๋…์„ ๋„์ž…ํ•˜์˜€๊ณ , ๋ณตํ•ฉ ์„œ๋น„์Šค ๋‚ด์—์„œ ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œ์ผœ์„œ ๋™์ ์œผ๋กœ ๋ชจ๋“œ๊ฐ€ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€๋‹ค. ๋‚˜์•„๊ฐ€ ์—ฌ๋Ÿฌ ๋กœ๋ด‡์˜ ํ˜‘๋ ฅ์ด ๋”์šฑ ๊ฒฌ๊ณ ํ•˜๊ณ , ์œ ์—ฐํ•˜๊ณ , ํ™•์žฅ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด, ๊ตฐ์ง‘ ๋กœ๋ด‡์„ ์šด์šฉํ•  ๋•Œ ๋กœ๋ด‡์ด ์ž„๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋„์ค‘์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋กœ๋ด‡์„ ๋™์ ์œผ๋กœ ๋‹ค๋ฅธ ํ–‰์œ„๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋™์ ์œผ๋กœ๋„ ํŒ€์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ณ , ์—ฌ๋Ÿฌ ๋Œ€์˜ ๋กœ๋ด‡์ด ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ทธ๋ฃน ์„œ๋น„์Šค๋ฅผ ์ง€์›ํ•˜๊ณ , ์ผ๋Œ€ ๋‹ค ํ†ต์‹ ๊ณผ ๊ฐ™์€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์— ๋ฐ˜์˜ํ•˜์˜€๋‹ค. ๋”ฐ๋ผ์„œ ํ™•์žฅ๋œ ์ƒ์œ„ ์ˆ˜์ค€์˜ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋Š” ๋น„์ „๋ฌธ๊ฐ€๋„ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ํ˜‘๋ ฅ ์ž„๋ฌด๋ฅผ ์‰ฝ๊ฒŒ ๋ช…์„ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋กœ๋ด‡์˜ ํ–‰์œ„๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์—ฐ๊ตฌ๋˜๊ณ  ์žˆ๋‹ค. ํŠนํžˆ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ์ค‘์ ์œผ๋กœ ๋‘” ์—ฐ๊ตฌ๋“ค์ด ์ตœ๊ทผ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„์˜ ์ด๋“ค ์—ฐ๊ตฌ๋Š” ๋ฆฌ๋ˆ…์Šค ์šด์˜์ฒด์ œ์™€ ๊ฐ™์ด ๋งŽ์€ ํ•˜๋“œ์›จ์–ด ์ž์›์„ ํ•„์š”๋กœ ํ•˜๋Š” ์šด์˜์ฒด์ œ๋ฅผ ๊ฐ€์ •ํ•˜๊ณ  ์žˆ๋‹ค. ๋˜ํ•œ, ํ”„๋กœ๊ทธ๋žจ์˜ ๋ถ„์„ ๋ฐ ์„ฑ๋Šฅ ์˜ˆ์ธก ๋“ฑ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ์ž์› ์ œ์•ฝ์ด ์‹ฌํ•œ ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๋กœ๋ด‡์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ์—๋Š” ์–ด๋ ต๋‹ค. ๊ทธ๋ž˜์„œ ๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ์ž„๋ฒ ๋””๋“œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ ์“ฐ์ด๋Š” ์ •ํ˜•์ ์ธ ๋ชจ๋ธ์„ ์ด์šฉํ•œ๋‹ค. ์ด ๋ชจ๋ธ์€ ์ •์  ๋ถ„์„๊ณผ ์„ฑ๋Šฅ ์˜ˆ์ธก์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๋กœ๋ด‡์˜ ํ–‰์œ„๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ์—๋Š” ์ œ์•ฝ์ด ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ณธ ๋…ผ๋ฌธ์—์„œ ์™ธ๋ถ€์˜ ์ด๋ฒคํŠธ์— ์˜ํ•ด ์ˆ˜ํ–‰ ์ค‘๊ฐ„์— ํ–‰์œ„๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋กœ๋ด‡์„ ์œ„ํ•ด ์œ ํ•œ ์ƒํƒœ ๋จธ์‹  ๋ชจ๋ธ๊ณผ ๋ฐ์ดํ„ฐ ํ”Œ๋กœ์šฐ ๋ชจ๋ธ์ด ๊ฒฐํ•ฉํ•˜์—ฌ ๋™์  ํ–‰์œ„๋ฅผ ๋ช…์„ธํ•  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅ๋œ ๋ชจ๋ธ์„ ์ ์šฉํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋”ฅ๋Ÿฌ๋‹๊ณผ ๊ฐ™์ด ๊ณ„์‚ฐ๋Ÿ‰์„ ๋งŽ์ด ํ•„์š”๋กœ ํ•˜๋Š” ์‘์šฉ์„ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•ด, ๋ฃจํ”„ ๊ตฌ์กฐ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ์„ ์ œ์•ˆํ•œ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ์—ฌ๋Ÿฌ ๋กœ๋ด‡์˜ ํ˜‘์—… ์šด์šฉ์„ ์œ„ํ•ด ๋กœ๋ด‡ ์‚ฌ์ด์— ๊ณต์œ ๋˜๋Š” ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐ€์ง€ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋จผ์ € ์ค‘์•™์—์„œ ๊ณต์œ  ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํƒœ์Šคํฌ๋ผ๋Š” ํŠน๋ณ„ํ•œ ํƒœ์Šคํฌ๋ฅผ ํ†ตํ•ด ๊ณต์œ  ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋˜ํ•œ, ๋กœ๋ด‡์ด ์ž์‹ ์˜ ์ •๋ณด๋ฅผ ๊ฐ€๊นŒ์šด ๋กœ๋ด‡๋“ค๊ณผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ€ํ‹ฐ์บ์ŠคํŒ…์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ํฌํŠธ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ํ™•์žฅ๋œ ์ •ํ˜•์ ์ธ ๋ชจ๋ธ์€ ์‹ค์ œ ๋กœ๋ด‡ ์ฝ”๋“œ๋กœ ์ž๋™ ์ƒ์„ฑ๋˜์–ด, ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ ์ƒ์‚ฐ์„ฑ ๋ฐ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ์— ์ด์ ์„ ๊ฐ€์ง„๋‹ค. ๋น„์ „๋ฌธ๊ฐ€๊ฐ€ ๋ช…์„ธํ•œ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋Š” ์ •ํ˜•์ ์ธ ํƒœ์Šคํฌ ๋ชจ๋ธ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์ค‘๊ฐ„ ๋‹จ๊ณ„์ธ ์ „๋žต ๋‹จ๊ณ„๋ฅผ ์ถ”๊ฐ€ํ•˜์˜€๋‹ค. ์ œ์•ˆํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์˜ ํƒ€๋‹น์„ฑ์„ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•ด, ์‹œ๋ฎฌ๋ ˆ์ด์…˜๊ณผ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์‹ค์ œ ๋กœ๋ด‡์„ ์ด์šฉํ•œ ํ˜‘์—…ํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋Œ€ํ•ด ์‹คํ—˜์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค.In the near future, it will be common that a variety of robots are cooperating to perform a mission in various fields. There are two software challenges when deploying collaborative robots: how to specify a cooperative mission and how to program each robot to accomplish its mission. In this paper, we propose a novel software development framework that separates mission specification and robot behavior programming, which is called service-oriented and model-based (SeMo) framework. Also, it can support distributed robot systems, swarm robots, and their hybrid. For mission specification, a novel scripting language is proposed with the expression capability. It involves team composition and service-oriented behavior specification of each team, allowing dynamic mode change of operation and multi-tasking. Robots are grouped into teams, and the behavior of each team is defined with a composite service. The internal behavior of a composite service is defined by a sequence of services that the robots will perform. The notion of plan is applied to express multi-tasking. And the robot may have various operating modes, so mode change is triggered by events generated in a composite service. Moreover, to improve the robustness, scalability, and flexibility of robot collaboration, the high-level mission scripting language is extended with new features such as team hierarchy, group service, one-to-many communication. We assume that any robot fails during the execution of scenarios, and the grouping of robots can be made at run-time dynamically. Therefore, the extended mission specification enables a casual user to specify various types of cooperative missions easily. For robot behavior programming, an extended dataflow model is used for task-level behavior specification that does not depend on the robot hardware platform. To specify the dynamic behavior of the robot, we apply an extended task model that supports a hybrid specification of dataflow and finite state machine models. Furthermore, we propose a novel extension to allow the explicit specification of loop structures. This extension helps the compute-intensive application, which contains a lot of loop structures, to specify explicitly and analyze at compile time. Two types of information sharing, global information sharing and local knowledge sharing, are supported for robot collaboration in the dataflow graph. For global information, we use the library task, which supports shared resource management and server-client interaction. On the other hand, to share information locally with near robots, we add another type of port for multicasting and use the knowledge sharing technique. The actual robot code per robot is automatically generated from the associated task graph, which minimizes the human efforts in low-level robot programming and improves the software design productivity significantly. By abstracting the tasks or algorithms as services and adding the strategy description layer in the design flow, the mission specification is refined into task-graph specification automatically. The viability of the proposed methodology is verified with preliminary experiments with three cooperative mission scenarios with heterogeneous robot platforms and robot simulator.Chapter 1. Introduction 1 1.1 Motivation 1 1.2 Contribution 7 1.3 Dissertation Organization 9 Chapter 2. Background and Existing Research 11 2.1 Terminologies 11 2.2 Robot Software Development Frameworks 25 2.3 Parallel Embedded Software Development Framework 31 Chapter 3. Overview of the SeMo Framework 41 3.1 Motivational Examples 45 Chapter 4. Robot Behavior Programming 47 4.1 Related works 48 4.2 Model-based Task Graph Specification for Individual Robots 56 4.3 Model-based Task Graph Specification for Cooperating Robots 70 4.4 Automatic Code Generation 74 4.5 Experiments 78 Chapter 5. High-level Mission Specification 81 5.1 Service-oriented Mission Specification 82 5.2 Strategy Description 93 5.3 Automatic Task Graph Generation 96 5.4 Related works 99 5.5 Experiments 104 Chapter 6. Conclusion 114 6.1 Future Research 116 Bibliography 118 Appendices 133 ์š”์•ฝ 158Docto

    Architectures and GPU-Based Parallelization for Online Bayesian Computational Statistics and Dynamic Modeling

    Get PDF
    Recent work demonstrates that coupling Bayesian computational statistics methods with dynamic models can facilitate the analysis of complex systems associated with diverse time series, including those involving social and behavioural dynamics. Particle Markov Chain Monte Carlo (PMCMC) methods constitute a particularly powerful class of Bayesian methods combining aspects of batch Markov Chain Monte Carlo (MCMC) and the sequential Monte Carlo method of Particle Filtering (PF). PMCMC can flexibly combine theory-capturing dynamic models with diverse empirical data. Online machine learning is a subcategory of machine learning algorithms characterized by sequential, incremental execution as new data arrives, which can give updated results and predictions with growing sequences of available incoming data. While many machine learning and statistical methods are adapted to online algorithms, PMCMC is one example of the many methods whose compatibility with and adaption to online learning remains unclear. In this thesis, I proposed a data-streaming solution supporting PF and PMCMC methods with dynamic epidemiological models and demonstrated several successful applications. By constructing an automated, easy-to-use streaming system, analytic applications and simulation models gain access to arriving real-time data to shorten the time gap between data and resulting model-supported insight. The well-defined architecture design emerging from the thesis would substantially expand traditional simulation models' potential by allowing such models to be offered as continually updated services. Contingent on sufficiently fast execution time, simulation models within this framework can consume the incoming empirical data in real-time and generate informative predictions on an ongoing basis as new data points arrive. In a second line of work, I investigated the platform's flexibility and capability by extending this system to support the use of a powerful class of PMCMC algorithms with dynamic models while ameliorating such algorithms' traditionally stiff performance limitations. Specifically, this work designed and implemented a GPU-enabled parallel version of a PMCMC method with dynamic simulation models. The resulting codebase readily has enabled researchers to adapt their models to the state-of-art statistical inference methods, and ensure that the computation-heavy PMCMC method can perform significant sampling between the successive arrival of each new data point. Investigating this method's impact with several realistic PMCMC application examples showed that GPU-based acceleration allows for up to 160x speedup compared to a corresponding CPU-based version not exploiting parallelism. The GPU accelerated PMCMC and the streaming processing system can complement each other, jointly providing researchers with a powerful toolset to greatly accelerate learning and securing additional insight from the high-velocity data increasingly prevalent within social and behavioural spheres. The design philosophy applied supported a platform with broad generalizability and potential for ready future extensions. The thesis discusses common barriers and difficulties in designing and implementing such systems and offers solutions to solve or mitigate them
    corecore