• 제목, 요약, 키워드: 병렬컴퓨팅

검색결과 420건 처리시간 0.033초

SIMD 기반의 VBP 기법을 적용한 효율적인 퀵정렬의 구현 (An Implementation of Efficient Quicksort Utilizing SIMD-Based VBP Technique)

  • 홍길석;김홍연;강성현;민준기
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • v.23 no.8
    • /
    • pp.498-503
    • /
    • 2017
  • SIMD(Single Instruction Multiple Data)는 대표적인 병렬화 아키텍처 중 하나로, SIMD 레지스터에 적재된 여러 개의 데이터들을 하나의 명령어로 처리하는 기술이다. 퀵정렬(Quicksort)은 데이터 값들이 리스트로 저장되어 있을 때, 임의의 위치에 있는 데이터 값을 피봇으로 하여 그것보다 작은 값은 왼편으로, 큰 값은 오른편으로 분할하여 생성된 두 개의 서브리스트에 대하여 같은 작업을 반복함으로써 데이터 값들을 정렬하는 정렬 알고리즘이다. 본 연구에서는 SIMD 명령어를 이용하여 파이프라인 아키텍처에서 조건 예측 실패에 따른 성능 저하를 유발하지 않도록 분기 조건을 최소로 사용하는 효율적인 퀵정렬(Quicksort) 알고리즘을 제안한다. 또한, VBP(Vertical Bit Parallel) 기법과 얼리 프루닝(early pruning) 기법을 적용하여 SIMD 레지스터에 데이터를 바이트 단위로 적재함으로써 퀵 정렬 알고리즘의 성능을 향상하였다.

자바스크립트 동시 파싱을 위한 우선순위 휴리스틱 (The Priority Heuristics for Concurrent Parsing of JavaScript)

  • 차명수;박혁우;문수묵
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • v.23 no.8
    • /
    • pp.510-515
    • /
    • 2017
  • 웹 어플리케이션은 로딩 시간을 빠르게 하는 것이 중요하다. 파싱은 로딩 과정 중 하나로서 로딩을 길어지게 하는 원인이 되고 있다. 이러한 이유로 파싱 쓰레드를 만들어 파싱을 병렬화 시킨 동시 파싱 기법이 제안되었다[3]. 그러나 동시 파싱은 파싱 순서에 대한 고려가 없다는 한계가 있었다. 본 논문에서는 동시 파싱을 사용할 때 어떤 함수를 먼저 파싱해야 하는가에 대한 휴리스틱을 제안한다. 파싱 우선 순위를 정하기 위해 실제 웹 어플리케이션의 자바스크립트 함수들을 분석하여 함수를 세 가지 기준으로 분류하였고, 각 분류의 호출 확률(call probability)을 구하였다. 조사한 호출 확률을 이용하여 높은 호출 확률을 갖는 함수들에 높은 파싱 우선 순위를 주었고, 반대로 낮은 호출 확률의 함수들은 낮은 우선 순위를 주었다. 정의한 우선 순위를 토대로 휴리스틱을 제안했고 이를 검증하기 위해 실제 웹 어플리케이션에서 로딩 시간을 측정하여 최대 3.8%, 평균 2.6%의 로딩 시간을 단축하였다.

멀티코어 인메모리 환경에서 트랜잭션을 처리하기 위한 효율적인 HTM 기법 (Efficient Hardware Transactional Memory Scheme for Processing Transactions in Multi-core In-Memory Environment)

  • 장연우;강문환;윤민;장재우
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • v.23 no.8
    • /
    • pp.466-472
    • /
    • 2017
  • 하드웨어 트랜잭셔널 메모리(HTM)는 트랜잭션 처리를 위한 병렬 프로그래밍 패러다임을 크게 바꾸었으며, 최근 Intel에서 TSX를 제안함에 따라 HTM에 기반한 다수의 연구들이 수행되었다. 그러나 기존 연구들은 트랜잭션 처리에서 하나의 원인에 대한 충돌 예측만을 지원하며, 모든 워크로드에 대해 획일화된 TSX 환경을 제공한다. 이러한 문제점을 해결하기 위해, 본 논문에서는 멀티코어 인메모리 환경에서 트랜잭션을 처리하기 위한 효율적인 HTM 기법을 제안한다. 첫째, 제안하는 기법은 과거 트랜잭션 처리 정보를 수집한 매트릭스를 이용하여, HTM 실패시의 대비책 경로로써 STM 혹은 single lock을 선택한다. 둘째, 머신러닝 알고리즘 기반 재시도 정책을 제공함으로써, 워크로드 특성에 맞는 효율적인 트랜잭션 처리를 수행한다. 마지막으로 STAMP를 이용한 성능평가를 통해, 제안하는 기법이 기존 연구에 비해 10~20%의 성능 향상이 있음을 보인다.

하둡 기반 대규모 작업처리 프레임워크에서의 Adaptive Parallel Computability 기술 연구 (A Study on Adaptive Parallel Computability in Many-Task Computing on Hadoop Framework)

  • 김직수
    • 방송공학회논문지
    • /
    • v.24 no.6
    • /
    • pp.1122-1133
    • /
    • 2019
  • 본 연구팀에서는 YARN 기반의 하둡 플랫폼에서 대규모의 태스크들로 구성된 Many-Task Computing(MTC) 응용들을 효율적으로 지원할 수 있는 신규 프레임워크로서 MOHA(Mtc On HAdoop)를 연구/개발해왔다. MTC 응용들은 수십만 개에서 수백만 개 이상의 대규모 태스크들로 구성되고 각 응용별로 자원의 사용 패턴이 다를 수 있기 때문에, 전체적인 시스템 성능 향상을 위해 MOHA-TaskExecutor(MTC 응용 태스크를 실행하는 주체)의 Adaptive Parallel Computability 기술 연구를 수행하였다. 이는 한 번에 하나의 태스크를 실행하던 기존의 처리 모델을 고도화하여 하나의 TaskExecutor가 동시에 여러 개의 태스크들을 실행함으로써 YARN Container의 병렬 컴퓨팅 능력을 극대화하기 위함이다. 이를 위해 각각의 TaskExecutor들이 "독립적이고, 동적으로" 동시에 실행시키는 MTC 응용 태스크들을 조정할 수 있도록 하였으며, 최적의 동시 실행 태스크 숫자를 찾기 위해서 Hill-Climbing 알고리즘을 활용하였다.

클라우드 환경에서 MongoDB 기반의 비정형 로그 처리 시스템 설계 및 구현 (Design and Implementation of MongoDB-based Unstructured Log Processing System over Cloud Computing Environment)

  • 김명진;한승호;최운;이한구
    • 인터넷정보학회논문지
    • /
    • v.14 no.6
    • /
    • pp.71-84
    • /
    • 2013
  • 컴퓨터 시스템 운용 간에 발생하는 많은 정보들이 기록되는 로그데이터는 컴퓨터 시스템 운용 점검, 프로세스의 최적화, 사용자 최적화 맞춤형 제공 등 다방면으로 활용되고 있다. 본 논문에서는 다양한 종류의 로그데이터들 중에서 은행에서 발생하는 대용량의 로그데이터를 처리하기 위한 클라우드 환경 하에서의 MongoDB 기반 비정형 로그 처리시스템을 제안한다. 은행업무간 발생하는 대부분의 로그데이터는 고객의 업무처리 프로세스 간에 발생하며, 고객 업무 프로세스 처리에 따른 로그데이터를 수집, 저장, 분류, 분석하기 위해서는 별도로 로그데이터를 처리하는 시스템을 구축해야만 한다. 하지만 기존 컴퓨팅환경 하에서는 폭발적으로 증가하는 대용량 비정형 로그데이터 처리를 위한 유연한 스토리지 확장성 기능, 저장된 비정형 로그데이터를 분류, 분석 처리할 수 있는 기능을 구현하기가 매우 어렵다. 이에 따라 본 논문에서는 클라우드 컴퓨팅 기술을 도입하여 기존 컴퓨팅 인프라 환경의 분석 도구 및 관리체계에서 처리하기 어려웠던 비정형 로그데이터를 처리하기 위한 클라우드 환경기반의 로그데이터 처리시스템을 제안하고 구현하였다. 제안한 본 시스템은 IaaS(Infrastructure as a Service) 클라우드 환경을 도입하여 컴퓨팅 자원의 유연한 확장성을 제공하며 실제로, 로그데이터가 장기간 축적되거나 급격하게 증가하는 상황에서 스토리지, 메모리 등의 자원을 신속성 있고 유연하게 확장을 할 수 있는 기능을 포함한다. 또한, 축적된 비정형 로그데이터의 실시간 분석이 요구되어질 때 기존의 분석도구의 처리한계를 극복하기 위해 본 시스템은 하둡 (Hadoop) 기반의 분석모듈을 도입함으로써 대용량의 로그데이터를 빠르고 신뢰성 있게 병렬 분산 처리할 수 있는 기능을 제공한다. 게다가, HDFS(Hadoop Distributed File System)을 도입함으로써 축적된 로그데이터를 블록단위로 복제본을 생성하여 저장관리하기 때문에 본 시스템은 시스템 장애와 같은 상황에서 시스템이 멈추지 않고 작동할 수 있는 자동복구 기능을 제공한다. 마지막으로, 본 시스템은 NoSQL 기반의 MongoDB를 이용하여 분산 데이터베이스를 구축함으로써 효율적으로 비정형로그데이터를 처리하는 기능을 제공한다. MySQL과 같은 관계형 데이터베이스는 복잡한 스키마 구조를 가지고 있기 때문에 비정형 로그데이터를 처리하기에 적합하지 않은 구조를 가지고 있다. 또한, 관계형 데이터베이스의 엄격한 스키마 구조는 장기간 데이터가 축적되거나, 데이터가 급격하게 증가할 때 저장된 데이터를 분할하여 여러 노드에 분산시키는 노드 확장이 어렵다는 문제점을 가지고 있다. NoSQL은 관계형 데이터베이스에서 제공하는 복잡한 연산을 지원하지는 않지만 데이터가 빠르게 증가할 때 노드 분산을 통한 데이터베이스 확장이 매우 용이하며 비정형 데이터를 처리하는데 매우 적합한 구조를 가지고 있는 비관계형 데이터베이스이다. NoSQL의 데이터 모델은 주로 키-값(Key-Value), 컬럼지향(Column-oriented), 문서지향(Document-Oriented)형태로 구분되며, 제안한 시스템은 스키마 구조가 자유로운 문서지향(Document-Oriented) 데이터 모델의 대표 격인 MongoDB를 도입하였다. 본 시스템에 MongoDB를 도입한 이유는 유연한 스키마 구조에 따른 비정형 로그데이터 처리의 용이성뿐만 아니라, 급격한 데이터 증가에 따른 유연한 노드 확장, 스토리지 확장을 자동적으로 수행하는 오토샤딩 (AutoSharding) 기능을 제공하기 때문이다. 본 논문에서 제안하는 시스템은 크게 로그 수집기 모듈, 로그 그래프생성 모듈, MongoDB 모듈, Hadoop기반 분석 모듈, MySQL 모듈로 구성되어져 있다. 로그 수집기 모듈은 각 은행에서 고객의 업무 프로세스 시작부터 종료 시점까지 발생하는 로그데이터가 클라우드 서버로 전송될 때 로그데이터 종류에 따라 데이터를 수집하고 분류하여 MongoDB 모듈과 MySQL 모듈로 분배하는 기능을 수행한다. 로그 그래프생성 모듈은 수집된 로그데이터를 분석시점, 분석종류에 따라 MongoDB 모듈, Hadoop기반 분석 모듈, MySQL 모듈에 의해서 분석되어진 결과를 사용자에게 웹 인터페이스 형태로 제공하는 역할을 한다. 실시간적 로그데이터분석이 필요한 로그데이터는 MySQL 모듈로 저장이 되어 로그 그래프생성 모듈을 통하여 실시간 로그데이터 정보를 제공한다. 실시간 분석이 아닌 단위시간당 누적된 로그데이터의 경우 MongoDB 모듈에 저장이 되고, 다양한 분석사항에 따라 사용자에게 그래프화해서 제공된다. MongoDB 모듈에 누적된 로그데이터는 Hadoop기반 분석모듈을 통해서 병렬 분산 처리 작업이 수행된다. 성능 평가를 위하여 로그데이터 삽입, 쿼리 성능에 대해서 MySQL만을 적용한 로그데이터 처리시스템과 제안한 시스템을 비교 평가하였으며 그 성능의 우수성을 검증하였다. 또한, MongoDB의 청크 크기별 로그데이터 삽입 성능평가를 통해 최적화된 청크 크기를 확인하였다.

MSC 명세를 기반으로 한 병렬 프로그램 테스팅 환경의 개발 (Development of a Testing Environment for Parallel Programs based on MSC Specifications)

  • 김현수;배현섭;정인상;권용래;정영식;이병선;이동길
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • v.6 no.2
    • /
    • pp.135-149
    • /
    • 2000
  • 병렬 프로그램 테스팅을 위한 기존의 연구는 대부분 프로그램 수행 중에 얻어진 이벤트 트레이스를 바탕으로 재수행성을 보장하는데 중점을 두고 있다. 반면에 개발과정에서 만들어진 요구 명세로부터 테스트 케이스를 생성하는 방법에 대한 연구는 빈약한 실정이다. 본 연구에서는 통신 소프트웨어 개발분야에서 광범위하게 사용되는 메시지 순차도(MSC)로 작성된 명세로부터 병렬 프로그램의 모듈 테스팅을 위한 테스트 케이스를 자동으로 생성하는 방법을 제안하고 생성된 테스트 케이스를 이용하여 실제 테스팅을 수행할 수 있는 환경을 개발하였다. 명세로부터 테스트 케이스를 자동으로 생성하기 위해서는 명세 내에 묵시적으로 포함되어 있는 이벤트들과 그들 간의 선후 관계를 파악해야 하는데 이를 위해서 본 연구에서는 논리시간벡터를 MSC 명세에 적용하기 위한 방법을 제안하여 이벤트간의 선후 관계인 이벤트 시퀀스를 추출하고 이를 테스트 케이스로 사용한다. 생성된 테스트 케이스는 TTCN 형태로 기술되고 이는 다시 CHILL 소스 코드 형태로 변환되어 테스트 대상이 되는 모듈과 상호 동작하면서 테스팅 대상 모듈의 동작이 기술된 요구 명세의 내용과 합치하는 지를 검사한다. 본 연구에서 개발한 테스팅 방법은 통신소프트웨어 개발 과정에서 산출된 MSC 명세로부터 테스트 케이스를 추출함으로써 테스팅을 위해 별도의 명세를 작성할 필요가 없다. 또한, 논리 시간 벡터를 적용하여 이벤트 시퀀스를 자동 생성할 뿐만 아니라 생성된 이벤트 시퀀스는 시스템 전체의 이벤트 시퀀스로써 독자적인 테스팅 방법으로 사용될 수 있다. TNF-$\alpha$ and NO. These findings suggest that compounds 6 and 11 are modulating various elements of the host immune response.%로서, carbofuran 단독투여와 carbofuran과 PB 또는 3-MC 투여사이에 대사산물의 종류는 같았으나 생성율에는 큰 차이가 있었다. 이와 같은 결과는 쥐에 carbofuran 투여 후 PB나 3-MC를 투여함으로써 carbofuran의 대사가 빠르게 이루어지고, 주 대사산물 중3-hydroxycarbofuran보다 독성 이 낮은 3-ketocarbofuran으로의 대사가 빠르게 이루어지기 때문에 carbofuran의 독성이 경감되어 쥐가 생존할 수 있는 것으로 판단된다.시장젓갈${\lrcorner}$에는 글루타민산, leucine, alanine, lysine의 4종류, ${\ulcorner}$반찬젓갈${\lrcorner}$에는 글루타민산, leucine, alanine의 3종류, ${\ulcorner}$일본병조림젓갈${\lrcorner}$은 글루타민산이 현저하게 많다.회하였다.ollowed fro all Sullungtang samples from Hanwoo. The results showed that the overall quality of Sullungtang significantly decreased

  • PDF

클라우드 컴퓨팅을 이용한 유시티 비디오 빅데이터 분석 (An Analysis of Big Video Data with Cloud Computing in Ubiquitous City)

  • 이학건;윤창호;박종원;이용우
    • 인터넷정보학회논문지
    • /
    • v.15 no.3
    • /
    • pp.45-52
    • /
    • 2014
  • 유비쿼터스 시티(유시티)에서는 수많은 비디오 카메라들이 설치된다. 이렇게 설치된 많은 카메라로부터 대용량의 비디오 데이터가 실시간으로 끊임없이 발생하고 유시티의 관리 시스템으로 전달된다. 유시티의 다양한 서비스들을 뒷받침하기 위해서는 이러한 비디오 데이터를 저장하고, 이렇게 저장된 대용량의 비디오 데이터를 분석할 수 있는 방법과 관리 시스템이 요구된다. 그래서, 이 논문에서는 클라우드 컴퓨팅을 기반으로 한 유시티 비디오 관리 시스템을 제안한다. 또한, 근래 주목받고 있는 데이터 병렬처리 프레임워크인 Hadoop MapReduce를 이용하여 이러한 빅데이터 비디오를 분석하는 방법을 제안하고, 이에 따른 우리의 성능 평가를 소개한다.

도로 주행환경 분석을 위한 빅데이터 플랫폼 구축 정보기술 인프라 개발 (Development of Information Technology Infrastructures through Construction of Big Data Platform for Road Driving Environment Analysis)

  • 정인택;정규수
    • 한국산학기술학회논문지
    • /
    • v.19 no.3
    • /
    • pp.669-678
    • /
    • 2018
  • 본 연구는 차량센싱데이터, 공공데이터 등 다종의 빅데이터를 활용하여 주행환경 분석 플랫폼 구축을 위한 정보기술 인프라를 개발하였다. 정보기술 인프라는 H/W 기술과 S/W 기술로 구분할 수 있다. 먼저, H/W 기술은 빅데이터 분산 처리를 위한 병렬처리 구조의 소형 플랫폼 서버를 개발하였다. 해당 서버는 1대의 마스터 노드와 9대의 슬래이브 노드로 구성하였으며, H/W 결함에 따른 데이터 유실을 막기 위하여 클러스터 기반 H/W 구성으로 설계하였다. 다음으로 S/W 기술은 빅데이터 수집 및 저장, 가공 및 분석, 정보시각화를 위한 각각의 프로그램을 개발하였다. 수집 S/W의 경우, 실시간 데이터는 카프카와 플럼으로 비실시간 데이터는 스쿱을 이용하여 수집 인터페이스를 개발하였다. 저장 S/W는 데이터의 활용 용도에 따라 하둡 분산파일시스템과 카산드라 DB로 구분하여 저장하는 인터페이스를 개발하였다. 가공 S/W는 그리드 인덱스 기법을 적용하여 수집데이터의 공간 단위 매칭과 시간간격 보간 및 집계를 위한 프로그램을 개발하였다. 분석 S/W는 개발 알고리즘의 탐재 및 평가, 장래 주행환경 예측모형 개발을 위하여 제플린 노트북 기반의 분석 도구를 개발하였다. 마지막으로 정보시각화 S/W는 다양한 주행환경 정보제공 및 시각화를 위하여 지오서버 기반의 웹 GIS 엔진 프로그램을 개발하였다. 성능평가는 개발서버의 메모리 용량과 코어개수에 따른 연산 테스트를 수행하였으며, 타 기관의 클라우드 컴퓨팅과도 연산성능을 비교하였다. 그 결과, 개발 서버에 대한 최적의 익스큐터 개수, 메모리 용량과 코어 개수를 도출하였으며, 개발 서버는 타 시스템 보다 연산성능이 우수한 것으로 나타났다.

개념적 시간관계 기반의 멀티미디어 프레젠테이션 저작 시스템 (A Multimedia Presentation Authoring System based on Conceptual Temporal Relations)

  • 노승진;장진희;성미영
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • v.9 no.3
    • /
    • pp.266-277
    • /
    • 2003
  • 모든 개념적 시간관계는 7가지의 관계(‘before’,‘meets’,‘starts’,‘finishes’,‘overlaps’, ‘during’,‘equals') 중 하나로 표현될 수 있다. 개념적 표현은 멀티미디어’저작 시스템의 자동 생성에 필요한 세부적 시간에 대해 효과적인 수단을 제공한다. 본 연구에서는 서로 다른 미디어들 간의 시간관계를 개념적으로 표현하는 사용하기 쉽고 효과적인 멀티미디어 프레젠테이션 저작 시스템을 개발하였다. 본 시스템을 구성하는 시간관계 편집기는 사용자에게 다른 편집기들로부터의 시간 정보를 간단하고 직접적인 그래픽 조작을 이용하여 프레젠테이션의 개념적 흐름을 직관적으로 표현할 수 있는 메커니즘을 제공한다. 본 시스템은 SMIL(Synchronized Multimedia Integration Language)에 기반한다. 본 시스템의 편집기들은 SMIL 객체 관리자를 통해 실시간으로 정보를 서로 교환하여 SMIL 코드를 자동 생성한다. 그리고, 본 시스템에서는 멀티미디어 프레젠테이션의 내부표현 구조로 TRN(Temporal Relation Network) 을 제안한다. TRN은 프레젠테이션의 흐름을 방향 그래프 구조로 표현한 것이다. TRN의 모든 병렬관계는 하나의 동기화된 블록으로 간소화될 수 있다. 이것은 컴포넌트들 간의 재생시간을 결정하는데 유용하며, 이미 구성되어 있는 프레젠테이션 문서를 재사용 할 때 그 기본단위로 이용될 수 있다. 또한, 멀티미디어 프레젠테이션 플레이어의 스케줄러로의 응용에도 적합하다.

리눅스 클러스터 시스템에서 단일 디스크 입출력 공간을 지원하는 효율적 디스크 공유 기법 (An Efficient Disk Sharing Technique supporting Single Disk I/O Space in Linux Cluster Systems)

  • 김태호;이종우;이재원;김성동;채진석
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • v.9 no.6
    • /
    • pp.635-645
    • /
    • 2003
  • 가격 대 성능비가 좋다는 장점으로 인해 많이 사용되고 있는 클러스터 병렬 컴퓨터 시스템에서는 여러 노드에 산재해 있는 자원들을 사용자들이 투명하게 사용할 수 있도록 지원하는 것이 필수적이다. 본 논문에서는 클러스터 시스템에서 단일 디스크 입출력 공간을 지원하는 효율적인 디스크 공유 기법을 제안한다. 응용 수준이 아닌 운영 체제 내의 블록 장치 드라이버 수준에서 디스크 공유를 지원함으로써 사용자들은 로컬 및 원격 디스크를 구분할 필요 없이 클러스터 시스템 내의 모든 디스크들을 마치 로컬 디스크 인 것처럼 투명하게 사용할 수 있다. 기반 운영체제로는 리눅스를 사용하였으며, 실험 결과 단일 디스크 입출력 공간을 성공적으로 지원함과 동시에 비교적 단순한 전역 캐쉬 일관성 정책을 사용했음에도 성능 면에서 NFS에 비해 읽기 성능은 유사, 쓰기 성능은 월등히 향상됨을 확인할 수 있었다. 본 논문이 기여하는 바는 블록 장치 드라이버 수준에서 단일 디스크 입출력 공간을 지원하는 기법을 제안함으로써 블록 장치 드라이버에 비해 비교적 구현이 쉬운 기타 입출력 장치 드라이버에 대해서도 유사한 방식으로 단일 입출력 공간을 지원할 수 있도록 도움을 줄 수 있다는 점이다.