• Title/Summary/Keyword: 병렬프로세서

Search Result 579, Processing Time 0.027 seconds

A Study on Deep Learning Methodology for Bigdata Mining from Smart Farm using Heterogeneous Computing (스마트팜 빅데이터 분석을 위한 이기종간 심층학습 기법 연구)

  • Min, Jae-Ki;Lee, DongHoon
    • Proceedings of the Korean Society for Agricultural Machinery Conference
    • /
    • 2017.04a
    • /
    • pp.162-162
    • /
    • 2017
  • 구글에서 공개한 Tensorflow를 이용한 여러 학문 분야의 연구가 활발하다. 농업 시설환경을 대상으로 한 빅데이터의 축적이 증가함과 아울러 실효적인 정보 획득을 위한 각종 데이터 분석 및 마이닝 기법에 대한 연구 또한 활발한 상황이다. 한편, 타 분야의 성공적인 심층학습기법 응용사례에 비하여 농업 분야에서의 응용은 초기 성장 단계라 할 수 있다. 이는 농업 현장에서 취득한 정보의 난해성 및 완성도 높은 생육/환경 모델링 정보의 부재로 실효적인 전과정 처리 기술 도출에 소요되는 시간, 비용, 연구 환경이 상대적으로 부족하기 때문일 것이다. 특히, 센서 기반 데이터 취득 기술 증가에 따라 비약적으로 방대해진 수집 데이터를 시간 복잡도가 높은 심층 학습 모델링 연산에 기계적으로 단순 적용할 경우 시간 효율적인 측면에서 성공적인 결과 도출에 애로가 있을 것이다. 매우 높은 시간 복잡도를 해결하기 위하여 제시된 하드웨어 가속 기능의 경우 일부 개발환경에 국한이 되어 있다. 일례로, 구글의 Tensorflow는 오픈소스 기반 병렬 클러스터링 기술인 MPICH를 지원하는 알고리즘을 공개하지 않고 있다. 따라서, 본 연구에서는 심층학습 기법 연구에 있어서, 예상 가능한 다양한 자원을 활용하여 최대한 연산의 결과를 빨리 도출할 수 있는 하드웨어적인 접근 방법을 모색하였다. 호스트에서 수행하는 일방적인 학습 알고리즘과 달리 이기종간 심층 학습이 가능하기 위해선 우선, NFS(Network File System)를 이용하여 데이터 계층이 상호 연결이 되어야 한다. 이를 위해서 고속 네트워크를 기반으로 한 NFS의 이용이 필수적이다. 둘째로 제한된 자원의 한계를 극복하기 위한 메모 공유 라이브러리가 필요하다. 셋째로 이기종간 프로세서에 최적화된 병렬 처리용 컴파일러를 이용해야 한다. 가장 중요한 부분은 이기종간의 처리 능력에 따른 작업을 고르게 분배할 수 있는 작업 스케쥴링이 수행되어야 하며, 이는 처리하고자 하는 데이터의 형태에 따라 매우 가변적이므로 해당 데이터 도메인에 대한 엄밀한 사전 벤치마킹이 수행되어야 한다. 이러한 요구조건을 대부분 충족하는 Open-CL ver1.2(https://www.khronos.org/opencl/)를 이용하였다. 최신의 Open-CL 버전은 2.2이나 본 연구를 위하여 준비한 4가지 이기종 시스템에서 모두 공통적으로 지원하는 버전은 1.2이다. 실험적으로 선정된 4가지 이기종 시스템은 1) Windows 10 Pro, 2) Linux-Ubuntu 16.04.4 LTS-x86_64, 3) MAC OS X 10.11 4) Linux-Ubuntu 16.04.4 LTS-ARM Cortext-A15 이다. 비교 분석을 위하여 NVIDIA 사에서 제공하는 Pascal Titan X 2식을 SLI로 구성한 시스템을 준비하였다. 개별 시스템에서 별도로 컴파일 된 바이너리의 이름을 통일하고, 개별 시스템의 코어수를 동일하게 균등 배분하여 100 Hz의 데이터로 입력이 되는 온도 정보와 조도 정보를 입력으로 하고 이를 습도정보에 Linear Gradient Descent Optimizer를 이용하여 Epoch 10,000회의 학습을 수행하였다. 4종의 이기종에서 총 32개의 코어를 이용한 학습에서 17초 내외로 연산 수행을 마쳤으나, 비교 시스템에서는 11초 내외로 연산을 마치는 결과가 나왔다. 기보유 하드웨어의 적절한 활용이 가능한 심층학습 기법에 대한 연구를 지속할 것이다

  • PDF

Development of Micro Thermal Image Acquisition System (마이크로 열화상 계측 시스템의 IOT 모듈화 개발)

  • Lee, Jun-Yeob;Oh, Jong-woo;Lee, DongHoon
    • Proceedings of the Korean Society for Agricultural Machinery Conference
    • /
    • 2017.04a
    • /
    • pp.169-169
    • /
    • 2017
  • 스마트 돈사 내의 열환경 분석에 필수적으로 고려되어야 인자는 가축의 복사 에너지 변화로 볼 수 있다. 열환경 제어의 대상이기도 하지만 회귀적으로 열환경 변화의 인자이기도 하다. 이러한 가축의 복사 에너지 분석을 위하여 시설 내에 용이하게 배포가 가능한 열화상 계측 시스템을 개발하였다. 초소형 마이크로 열화상 계측 시스템에 부가적으로 IOT(Internet of Thing) 기반 기술을 이용한 모듈화 개발을 병행하였다. 열화상 계측 센서로 LWIR(Longwave infrared)영역에 해당하는 $8{\mu}m{\sim}4{\mu}m$의 영역에서 $0.05^{\circ}C$의 분해능을 보이는 $Lepton^{TM}$ (500-0690-00, FLIR, Goleta, CA)모델을 사용하였다. SPI(Serial Peripheral Interface) 속도 2 Mhz로 마이크로프로세서(NanoPi NEO Air, FrendlyArm, CA, USA)와 고속 통신을 수행하여 9 Hz의 계측이 가능하다. 열화상 센서와 마이컴으로 구성되는 단위 계측 시스템의 통신 기능 확장을 위하여 다음과 같이 세 단계의 정보 전달 시나리오를 설계하였다. 1) 단독적으로 열화상을 계측 하고 내장된 메모리에 저장하는 형식 2) 인접한 사용자 인터페이스에서 1번 단독 모듈에 접속하여 열화상을 실시간으로 전송하여 화면에 도시하는 형식 3) 2번 사용자 도시모듈과 병행적으로 Local WI-FI 통신을 이용한 모바일 기기에 화면을 도시하는 형식. 이와 같은 계층적이며 모듈화된 계측 시스템을 구성하기 위해서 1번 모듈에 공개 소프트웨어인 Hostapd 2.5(http://w1.fi/hostapd)버전을 설치하였다. 외부 인터넷 환경이 없는 상황에 1번 모듈 단독으로 AP(Access Point) 기능을 제공하여 지근 거리에 있는 2번 모듈과 3번 모바일 기기의 접속을 관리할 수 있다. 2번 모듈의 경우 화면 다수의 1번 모듈에 접속을 교차적으로 수행하는 방식과 2번 모듈 자체가 AP가 되어 1번 모듈의 접속을 허용하는 형태로 구성되어 있다. 계측 시스템의 계측 매트릭스 구성에 따라 선택적으로 결정할 수 있다. 1번 2번 모듈 공통적으로 TCP/IP Listener와 Client 서비스를 병렬적으로 수행할 수 있도록 개발을 하였다. 3번 모바일 기기에서 사용자 인터페이스 구현을 위하여 범용 Android 기반 GUI 프로그램과 Socket 통신을 연동시켰다. 1개의 열화상 Frame의 전송량은 9,600 Byte ($=80{\times}60{\times}2Byte$) 로 WI-FI 통신 전송 시 2회 ~ 6회 정도 내외로 가변적인 통신 수행 횟수를 나타내었다. 센서 계측 시스템과 정보 전송 시스템을 병렬적으로 구성한 모듈화 된 계측시스템의 전 요소에서 센서에서 제공하는 최대 계측 주기인 9 Hz 구현이 일반적으로 가능하였다. 이를 이용한 추후 연구를 통해 가축 객체의 열복사 정보와 돈사 내 열환경 간의 역학성을 연구할 것이다.

  • PDF

Implementation of FFT on Massively Parallel GPU for DVB-T Receiver (DVB-T 수신기를 위한 대규모 병렬처리 GPU 기반의 FFT 구현)

  • Lee, Kyu Hyung;Heo, Seo Weon
    • Journal of Broadcast Engineering
    • /
    • v.18 no.2
    • /
    • pp.204-214
    • /
    • 2013
  • Recently various research have been conducted relating to the implementation of signal processing or communication system by software using the massively parallel processing capability of the GPU. In this work, we focus on reducing software simulation time of 2K/8K FFT in DVB-T by using GPU. we estimate the processing time of the DVB-T system, which is one of the standards for DTV transmission, by CPU. Then we implement the FFT processing by the software using the NVIDIA's massively parallel GPU processor. In this paper we apply stream process method to reduce the overhead for data transfer between CPU and GPU, coalescing method to reduce the global memory access time and data structure design method to maximize the shared memory usage. The results show that our proposed method is approximately 20~30 times as fast as the CPU based FFT processor, and approximately 1.8 times as fast as the CUFFT library (version 2.1) which is provided by the NVIDIA when applied to the DVB-T 2K/8K mode FFT.

Design of Hybrid Parallel Architecture for Fast IP Lookups (고속 IP Lookup을 위한 병렬적인 하이브리드 구조의 설계)

  • 서대식;윤성철;오재석;강성호
    • Journal of the Institute of Electronics Engineers of Korea SD
    • /
    • v.40 no.5
    • /
    • pp.345-353
    • /
    • 2003
  • When designing network processors or implementing network equipments such as routers are implemented, IP lookup operations cause the major impact on their performance. As the organization of the IP address becomes simpler, the speed of the IP lookup operations can go faster. However, since the efficient management of IP address is inevitable due to the increasing number of network users, the address organization should become more complex. Therefore, for both IPv4(IP version 4) and IPv6(IP version 6), it is the essential fact that IP lookup operations are difficult and tedious. Lots of researcher for improving the performance of IP lookups have been presented, but the good solution has not been came out. Software approach alleviates the memory usage, but at the same time it si slow in terms of searching speed when performing an IP lookup. Hardware approach, on the other hand, is fast, however, it has disadvantages of producing hardware overheads and high memory usage. In this paper, conventional researches on IP lookups are shown and their advantages and disadvantages are explained. In addition, by mixing two representative structures, a new hybrid parallel architecture for fast IP lookups is proposed. The performance evaluation result shows that the proposed architecture provides better performance and lesser memory usage.

Efficient RMESH Algorithms for Computing the Intersection and the Union of Two Visibility Polygons (두 가시성 다각형의 교집합과 합집합을 구하는 효율적인 RMESH 알고리즘)

  • Kim, Soo-Hwan
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.20 no.2
    • /
    • pp.401-407
    • /
    • 2016
  • We can consider the following problems for two given points p and q in a simple polygon P. (1) Compute the set of points of P which are visible from both p and q. (2) Compute the set of points of P which are visible from either p or q. They are corresponding to the problems which are to compute the intersection and the union of two visibility polygons. In this paper, we consider algorithms for solving these problems on a reconfigurable mesh(in short, RMESH). The algorithm in [1] can compute the intersection of two general polygons in constant time on an RMESH with size O($n^3$), where n is the total number of vertices of two polygons. In this paper, we construct the planar subdivision graph in constant time on an RMESH with size O($n^2$) using the properties of the visibility polygon for preprocessing. Then we present O($log^2n$) time algorithms for computing the union as well as the intersection of two visibility polygons, which improve the processor-time product from O($n^3$) to O($n^2log^2n$).

Efficient Implementation of NIST LWC SPARKLE on 64-Bit ARMv8 (ARMv8 환경에서 NIST LWC SPARKLE 효율적 구현)

  • Hanbeom Shin;Gyusang Kim;Myeonghoon Lee;Insung Kim;Sunyeop Kim;Donggeun Kwon;Seonggyeom Kim;Seogchung Seo;Seokhie Hong
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.33 no.3
    • /
    • pp.401-410
    • /
    • 2023
  • In this paper, we propose optimization methods for implementing SPARKLE, one of the NIST LWC finalists, on a 64-bit ARMv8 processor. The proposed methods consist of two approaches: an implementation using ARM A64 instructions and another using NEON ASIMD instructions. The A64-based implementation is optimized by performing register scheduling to efficiently utilize the available registers on the ARMv8 architecture. By utilizing the optimized A64-based implementation, we can achieve speeds that are 1.69 to 1.81 times faster than the C reference implementation on a Raspberry Pi 4B. The ASIMD-based implementation, on the other hand, optimizes data by parallelizing the ARX-boxes to perform more than three of them concurrently through a single vector instruction. While the general speed of the optimized ASIMD-based implementation is lower than that of the A64-based implementation, it only slows down by 1.2 times compared to the 2.1 times slowdown observed in the A64-based implementation as the block size increases from SPARKLE256 to SPARKLE512. This is an advantage of the ASIMD-based implementation. Therefore, the ASIMD-based implementation is more efficient for SPARKLE variant block cipher or permutation designs with larger block sizes than the original SPARKLE, making it a useful resource.

Design of Crossbar Switch On-chip Bus for Performance Improvement of SoC (SoC의 성능 향상을 위한 크로스바 스위치 온칩 버스 설계)

  • Heo, Jung-Burn;Ryoo, Kwang-Ki
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.14 no.3
    • /
    • pp.684-690
    • /
    • 2010
  • Most of the existing SoCs have shared bus architecture which always has a bottleneck state. The more IPs are in an SOC, the less performance it is of the SOC, Therefore, its performance is effected by the entire communication rather than CPU speed. In this paper, we propose cross-bar switch bus architecture for the reduction of the bottleneck state and the improvement of the performance. The cross-bar switch bus supports up to 8 masters and 16 slaves and parallel communication with architecture of multiple channel bus. Each slave has an arbiter which stores priority information about masters. So, it prevents only one master occupying one slave and supports efficient communication. We compared WISHBONE on-chip shared bus architecture with crossbar switch bus architecture of the SOC platform, which consists of an OpenRISC processor, a VGA/LCD controller, an AC97 controller, a debug interface, a memory interface, and the performance improved by 26.58% than the previous shared bus.

A Study on the Efficient Task Scheduling by the Reconstructed Task Graph (태스크 그래프의 재구성에 의한 효율적 태스크 스케줄링에 관한 연구)

  • Byun, Seung-Hwan;Yoo, Kwan-Jong
    • The Transactions of the Korea Information Processing Society
    • /
    • v.4 no.9
    • /
    • pp.2235-2246
    • /
    • 1997
  • This paper presents an effective heuristic task scheduling algorithm for multiprocessor systems. To execute task scheduling effectively which is defined as an allocation of m's tasks onto n's processors(m > n), several problems almost at NP-hard should be cleaned up. The purpose of the task scheduling obtains the minimum execution time by mapping the tasks on a system topology or reduces the total execution time to give a minimum system topology. In order to solve this problem, in this paper, the task scheduling is done by redefining a task graph to a reconstructed task graph (RTG). An RTG is obtained by merging or copying nodes to equal the number of nodes on each level of the task graph to the number of processors of the system topology and then directly scheduled to the system topology. This method obtains a fast scheduling time and a simple scheduling method, and near-optimal execution time without executing steps such as the refinement step and the duplication step after the task scheduling.

  • PDF

A Study of Performance Advanced Technique of the OFP on Multi-Core (멀티 코어 기반의 OFP 성능 향상 기법 연구)

  • Jang, Hyun-Seok;Won, Hyeon-Kwon;Kim, In-Gyu;Ha, Seok-Wun
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2012.05a
    • /
    • pp.270-273
    • /
    • 2012
  • In this paper, I present the design of Operational Flight Programs(OFPs) on a Multi-Core based Mission Computer(MC) for the optimized performance of the OFPs on Multi-Core based MC. The program assigned as tasks on Multi-Core environment can be scheduled by designing with the use of OpenMp, which is the standard for parallel programming. This paper also describes the differences between Multi-Core Program(MCP) on the technique and Single-Core Program(SCP) in terms of performance aspect. The new proposed design technique is applied to the Integrated Up-Front Control OFP(IUFC OFP) on General Processor Module where Multi-Core based. This paper describes the Multi-Core design technique for the optimized performance of the IUFC OFP, which display and control flight data(Navigation, Communication, Identification Friend or Foe) to pilot.

  • PDF

Static Allocation of C++ Objects to CORBA-based Distributed Systems (C++ 객체의 CORBA 기반 분산 시스템으로의 정적 할당)

  • 최승훈
    • Journal of Internet Computing and Services
    • /
    • v.1 no.2
    • /
    • pp.69-88
    • /
    • 2000
  • One of the most important factors on the performance of the distributed systems is the effective distribution of the software components, There have been a lot of researches on partitioning and allocating the task-based system, while the studies on the allocating the objects of the object-oriented system into the distributed object environments are very little relatively. In this paper. we defines the graph model for partitioning the existing C++ application and allocating the C++ objects into CORBA-base distributed system, In addition, we propose a distributed object allocation algorithm based on this graph model. The performance of distributed systems is determined by the concurrency between objects, the load balance among the processors and the communication cost on the networks. To search for the solutions optimizing the above three factors simultaneously, the object allocation algorithm of this paper is based on the Niched Pareto Genetic Algorithm (NPGA). We performed the experiment on the typical C++ application and CORBA system to prove the effectiveness of our graph model and our object allocation algorithm.

  • PDF