KR101578246B1 - 고속 서열 분석을 위한 병렬 Intra-Query 라우팅 알고리즘 - Google Patents

고속 서열 분석을 위한 병렬 Intra-Query 라우팅 알고리즘 Download PDF

Info

Publication number
KR101578246B1
KR101578246B1 KR1020110026137A KR20110026137A KR101578246B1 KR 101578246 B1 KR101578246 B1 KR 101578246B1 KR 1020110026137 A KR1020110026137 A KR 1020110026137A KR 20110026137 A KR20110026137 A KR 20110026137A KR 101578246 B1 KR101578246 B1 KR 101578246B1
Authority
KR
South Korea
Prior art keywords
nodes
intra
query
node
database
Prior art date
Application number
KR1020110026137A
Other languages
English (en)
Other versions
KR20110111241A (ko
Inventor
김태경
정승현
김훈기
최치환
조완섭
Original Assignee
충북대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 충북대학교 산학협력단 filed Critical 충북대학교 산학협력단
Publication of KR20110111241A publication Critical patent/KR20110111241A/ko
Application granted granted Critical
Publication of KR101578246B1 publication Critical patent/KR101578246B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

Intra-Query 작업을 부여할 때 사용자에게 선택사항을 부여할 수 있도록 다양한 알고리즘을 제안하고, 리파지토리를 통하여 처리 결과를 개인화하여 사용할 수 있도록 하기 위한 고속 서열분석을 위한 병렬 Intra-Query 라우팅 알고리즘이 개시된다. 본 발명은 랜 리눅스 PCI 카드를 장착한 PC 노드들을 서버에 연결하여 NFS 방식으로 약 결합된 클러스터 시스템을 구축하는 시스템 구축단계; 데이터베이스를 시스템 구축단계에서 구축된 PC노드들의 수만큼 분할하는 파티셔닝 단계; 파티셔닝 단계에서 파티션된 데이터베이스를 PC 노드들의 캐시 메모리에 저장하는 PC 노드 저장단계; 그리고, PC 노드 저장단계후에 미들웨어는 사용자의 선택사항에 따라 AOB방식, AOS방식, ASB방식, ASS방식 및 RAM방식중 어느 하나의 방식을 선택하여 작업을 PC 노드들로 분배하고 처리 결과를 수집하는 라우팅 단계를 포함한다.

Description

고속 서열 분석을 위한 병렬 Intra-Query 라우팅 알고리즘{Parallel Intra-Query Routing Algorithms for High Speed Sequence Analysis}
본 발명은 고속 서열분석을 위한 병렬 Intra-Query 라우팅 알고리즘에 관한 것으로, 특히 Intra-Query 작업을 부여할 때 사용자에게 선택사항을 부여할 수 있도록 다양한 알고리즘을 제안하고, 리파지토리를 통하여 처리 결과를 개인화하여 사용할 수 있도록 하기 위한 고속 서열분석을 위한 병렬 Intra-Query 라우팅 알고리즘에 관한 것이다.
일반적으로, 라우팅(Routing)은 통신 네트워크상에서 데이터를 보낼 경우를 선택하는 과정으로 전화 통신망, 전자 정보 통신망, 교통망 등 여러 종류의 네트워크에서 사용된다. 라우팅은 패킷 전달 및 일반적으로 라우터, 브릿지, 게이트웨이, 방화벽 또는 스위치로 불리는 중간 노드를 거쳐 출발지부터 최종 목적지까지 논리적으로 주소가 부여된 패킷의 변환을 총괄한다. 라우팅 과정은 보통 다양한 네트워크 목적지에 대한 라우트 기록을 관리하는 라우팅 테이블을 기초로 하여 수행된다.
라우팅은, 네트워크 주소가 그 구성이 비슷하다면 네트워크 안에서 인접성을 가진 구조라는 가정하에 브릿징과 뚜렷한 차이를 보인다. 구조화된 주소는 하나의 라우팅 테이블 항목이 여러 대의 장비에 대한 경로를 표시하는 것을 가능하게 하기 때문에 좁은 의미의 라우팅은 대규모 네트워크에서 비 구조화된 주소 지정(브릿징)보다 성능이 뛰어나므로, 인터넷상에서 지배적인 주소 지정 형식이 되었다.
또한, Intra-Query는 대량의 데이터를 분할하여 서로 다른 컴퓨팅 노드에서 처리하는 방식이다. Intra-Query를 질의의 개수가 많을 뿐만 아니라 서열 데이터베이스가 방대하여 질의처리 시간이 많이 걸리는 고속 서열분석 등의 작업에 적합하다. 즉,Intra-Query를 적용하여 질의 성능을 개선하게 되는 데, BLAST가 가장 대표적인 응용프로그램이다.
프로세싱에 의한 염기서열의 병렬분산처리 방법은 기준데이터가 N개의 염기서열이고, 검색데이터가 M개의 염기서열인 경우에는 명한다. 기준데이터의 최초 시작점과 검색데이터의 최초 시작점을 동일위치에 놓고, 양 데이터가 일치하는지 검사한다. 검색데이터의 전 길이에 걸쳐 검사를 실시한 이후에, 검색데이터의 최초 시작점을 기준데이터의 두 번째 위치에 일치시키고, 양 데이터가 일치하는지 검사한다.
기준데이터가 인간의 유전체 염기서열이라고 하면, 기준데이터의 개수는 약 32억 개에 해당하고, 검색데이터 역시 비교하려는 인간 유전체의 염기서열이라고 하면, 이 역시 32억 개에 달한다. 따라서, 양자의 비교를 위해서는 32억 개의 데이터 비교를 32억 번 실시하여야 한다.
그러므로, 기준데이터 및 검색데이터가 유전자 염기서열과 같이 그 양이 방대할 경우, 단순한 비교 작업임에도 불구하고, 과도한 시간이 필요하고, 이러한 데이터를 처리하기 위하여 고성능의 프로세싱 능력을 갖춘 클러스터 시스템을 구축하는 것이 일반적이다.
도 1은 종래의 고성능 클러스터 장비를 이용한 Intra-Query 처리를 위한 FIFO 알고리즘을 나타낸 도면이다.
종래의 고성능 클러스터 장비를 이용하는 경우에 사용되는 Intra-Query는 도 1에서 보는 바와 같은 데이터베이스 복제방식으로 전체 데이터베이스를 노드에 분배하고 FIFO(First-In-First-Out)방식으로 서로 다른 질의를 동시에 처리하는 방식이다.
즉, 데이터베이스 복제방식을 이용하는 Intra-Query 처리방식은 전체 데이터베이스를 노드에 복제한 다음 서로 다른 질의를 동시에 처리함으로서 데이터관리, 성능, 효율, QoS(Quality of Service)등 다음의 관점에서 비효율적이다.
첫째, 각 노드에 데이터를 복제하는 비용이 많이 들고, 데이터베이스 업데이트가 용이하지 않다. 둘째, 하나의 질의와 전체의 데이터베이스간의 비교하므로 성능향상을 기대하기가 어렵다. 즉, 하나의 질의가 들어올 경우 전체 노드의 자원을 활용할 수 없다.
셋째, 사용자의 다양한 요구사항을 만족시킬 수 없다. 사용자에 따라 전체 작업처리시간에 원할 수도 있고, 중간 결과를 신속히 보고 싶어할 수도 있지만 데이터베이스 복제방식을 이용하는 Intra-Query 처리방식은 작업을 실행할 때 별도 선택사항 없이 모든 것을 클러스터에 맡겨야 하는 문제점이 있다. 넷째, 시스템 자원 효율이 떨어진다. 각 노드에 멀티코어(Multi-Core) 프로세서를 사용하고 있음에도 불구하고 하나의 작업을 처리하여 자원 활용을 극대화 하지 못하게 되는 문제점이 있었다.
본 발명은 이러한 문제를 해결하기 위하여 발명된 것으로 본 발명의 목적은 Intra-Query 처리에 대한 다양한 라우팅 알고리즘을 제공하여 성능향상, 자원의 효율적 사용, 그리고 사용자들에게 다양한 QoS (Quality of Service) 부여할 수 있도록 하는 것이다. 따라서, 각 노드에 데이터를 복제하는 비용이 절감되고 데이터베이스 업데이트가 용이하며, 사용자의 다양한 요구사항을 만족시키고, 시스템 자원 효율을 증가시킨다.
이와 같은 복적을 수행하기 위한 본 발명은,
랜 리눅스 PCI 카드를 장착한 PC 노드들을 서버에 연결하여 NFS 방식으로 약 결합된 클러스터 시스템을 구축하는 시스템 구축단계;
데이터베이스를 시스템 구축단계에서 구축된 PC노드들의 수만큼 분할하는 파티셔닝 단계;
파티셔닝 단계에서 파티션된 데이터베이스를 PC 노드들의 캐시 메모리에 저장하는 PC 노드 저장단계; 그리고
PC 노드 저장단계 후에 미들웨어는 사용자의 선택사항에 따라 AOB방식, AOS방식, ASB방식, ASS방식 및 RAM방식중 어느 하나의 방식을 선택하여 작업을 PC 노드들로 분배하고 처리 결과를 수집하는 라우팅 단계를 포함하는 것이다.
본 발명은 Intra-Query 처리에 대한 다양한 라우팅 알고리즘을 제공하여 저가의 PC를 활용하여 생명공학 분야에서 가장 널리 사용되는 BLAST 처리용 고성능 클러스터 컴퓨터 구축할 수 있으며, 저가의 PC를 활용하여 경영학 분야의 대용량 OLAP 분석 처리용 고성능 클러스터 컴퓨터 구축할 수도 있는 효과가 있다.
도 1은 일반적인 Intra-Query 라우팅 개념도이다.
도 2는 본 발명에 따른 Intra-Query 처리를 위한 컴퓨팅 구성도이다.
도 3은 본 발명에 따른 PC 클라우드 미들웨어 개념도이다.
도 4는 본 발명에 따른 Intra-Query 라우팅 알고리즘 구성도이다.
도 5는 본 발명에 따른 Intra-Query 처리를 위한 리파지토리 개념도이다.
도 6 내지 도 10은 도 4에 도시된 AOB방식, AOS방식, ASB방식, ASS방식 및 RAM방식의 알고리즘에 대한 상세 개념도이다.
도 11 내지 도 12는 본 발명에 따른 Intra-Query 처리의 효율성을 보여주기 위한 그래프이다.
이하 첨부된 도면을 참조하면 본 발명의 바람직한 실시예를 상세히 설명하면 다음과 같다.
도 2는 본 발명에 따른 Intra-Query 처리를 위한 시스템 구성이다. 본 발명은 Intra-Query 처리 작업을 부여할 때 사용자에게 선택사항을 부여할 수 있도록 다양한 알고리즘을 제안하고, 리파지토리를 통하여 처리 결과를 개인화하여 사용할 수 있도록 한다. 그러므로 랜 리눅스 PCI 카드를 장착한 PC 노드들을 서버에 연결하여 NFS 방식으로 약 결합된 클러스터 시스템을 구축하는 시스템 구축단계를 수행한다.
시스템이 구축되면 도2에서 보는 바와 같이 생명 공학 분야의 고속 서열 분석에 사용되는 대용량 데이터베이스를 분할하여 각 PC 노드의 캐시 메모리에 배치한다. 즉, 데이터베이스를 시스템 구축단계에서 구축된 PC노드들의 수만큼 분할하는 파티셔닝 단계를 수행하고, 파티션된 데이터베이스를 PC 노드들의 캐시 메모리에 저장하는 것이다.
도 3은 본 발명에 따른 Intra-Query 처리를 위해 노드 관리, 데이터 관리, 라우팅을 담당하는 미들웨어의 개념도이다.
미들웨어는 초고속정보통신망 등 통신망의 구축이 확산됨에 따라 그 중요성이 부각되는 분산 컴퓨팅에 필수적이다. 즉, 미들웨어는 서로 다른 운영체제와 서버 프로그램과의 호환성뿐만 아니라 이종의 통신 프로토콜을 사용하는 네트워크 간의 접속, 네트워크 자원에 대한 접근, 그리고 시스템을 연결해 단일한 사용자 환경으로 만들어 주는 필수적인 요소이다.
즉, 미들웨어는 분산 컴퓨팅 환경을 구현하는데 발생하는 여러 문제점들을 해결한다. 본 발명의 핵심은 PC 클라우드 미들웨어에서 지원하는 병렬 Intra-Query 라우팅 알고리즘과 리파지토리이다. 도 4 및 도 5에서 보는 바와 같이, 파티션된 데이터 베이스의 PC 노드 저장후에 미들웨어는 사용자의 선택사항에 따라 AOB방식, AOS방식, ASB방식, ASS방식 및 RAM방식중 어느 하나의 방식을 선택하여 작업을 PC 노드들로 분배하고 처리 결과를 수집하는 라우팅을 수행한다.
이와 더불어 본 발명에 따른 Intra-Query 처리를 위한 리파지토리는 PC 노드에 흩어져 저장되어 있는 데이터 베이스를 모아 놓고, 서로 공유할 수 있게 한다. 따라서, 사용자가 직접 검색하기도, 소프트웨어를 사용하여 검색하기도 한다. 이를 위하여 사용자는 도 6 내지 도 10에 도시된 바와 같이 AOB방식, AOS방식, ASB방식, ASS방식 및 RAM방식중 어느 하나의 방식을 선택하여 작업을 PC 노드들로 분배하고 처리 결과를 수집하게 된다.
도 6 내지 도 10은 본 발명에 따른 Intra-Query 처리를 위 각 알고리즘에 대한 상세 개념도이다. 도 6 내지 도 10에서 작업의 크기는 원의 크기와 비례한다. (Q1 < 작업Q3 < Q4 < Q5 < Q2) 사용자가 AOB 방식을 선택하면 도 6에서 보는 바와 같이 들어온 작업의 순서는 유지하고, 성능이 좋은 노드는 작업을 먼저 처리하며, 작업이 종료된 다음 상대적으로 성능이 늦은 노드의 작업을 협력하여 처리한다.
사용자가 AOS 방식을 선택하면 도 7에서 보는 바와 같이, 들어온 작업들을 문제의 크기로 정렬을 수행하여 작업간의 응답시간을 최소화 하며, 성능이 우수한 노드가 상대적으로 느린 노드의 작업을 협력하여 처리한다. 또한, 도 8의 ASB 방식은 들어온 작업의 순서는 그대로 유지하면서, 하나의 작업이 모든 노드에서 종료하면 그 다음 작업을 처리하여 데이터 일관성을 유지하기 위한 방식이다.
도 9의 ASS 방식은 들어온 작업들을 문제의 크기로 정렬을 수행하여 응답시간을 최소화하고, 데이터 일관성을 위해 하나의 작업이 모든 노드에서 종료되면 그 다음 작업을 수행한다. 또한, 도 10의 RAM 방식은 시스템 전체 자원의 활용률을 높이기 위해 하나의 데이터베이스 파티션을 전체 노드에 분배한 다음 각 질의를 하나씩 할당하는 방식이다.
본 발명은 랜 리눅스 PCI 카드를 장착한 PC들을 서버에 연결하여 NFS 방식으로 약 결합된 클러스터 시스템을 구축하고, 구축된 클러스터 시스템에서 서버 데이터를 각 PC에 Logical Partioning 기법으로 분할하는 방식과 히스토그램 기법을 활용하여 데이터를 균등하게 배치하며, 분할된 데이터베이스에 대하여 질의를 분배하는 Intra-Query 처리에 대한 다양한 라우팅 알고리즘을 제공한다.
그러므로, 도 12 및 도 13에서 보는 바와 같이 기존의 클러스터 시스템에서의 성능에서의 처리와 본 발명의 처리 방식을 비교한 결과 대용량 생물학 데이터 처리의 성능을 개선하며, 사용자에게 성능, 효율, 데이터 관리 측면에서 다양한 선택사항을 제공하는 것이다.
이상에서 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하였으나, 본 발명은 이에 한정되는 것이 아니며 본 발명의 기술적 사상의 범위내에서 당업자에 의해 그 개량이나 변형이 가능하다.

Claims (1)

  1. 랜 리눅스 PCI 카드를 장착한 PC 노드들을 서버에 연결하여 NFS 방식으로 약 결합된 클러스터 시스템을 구축하는 시스템 구축단계;
    데이터베이스를 상기 시스템 구축단계에서 구축된 PC노드들의 수만큼 분할하는 파티셔닝 단계;
    상기 파티셔닝 단계에서 파티션된 데이터베이스를 PC 노드들의 캐시 메모리에 저장하는 PC 노드 저장단계; 그리고
    상기 PC 노드 저장단계후에 미들웨어는 사용자의 선택사항에 따라 AOB방식, AOS방식, ASB방식, ASS방식 및 RAM방식중 어느 하나의 방식을 선택하여 작업을 PC 노드들로 분배하고 처리 결과를 수집하는 라우팅 단계를 포함하는 고속 서열분석을 위한 병렬 Intra-Query 라우팅 방법.
KR1020110026137A 2010-04-02 2011-03-24 고속 서열 분석을 위한 병렬 Intra-Query 라우팅 알고리즘 KR101578246B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20100030425 2010-04-02
KR1020100030425 2010-04-02

Publications (2)

Publication Number Publication Date
KR20110111241A KR20110111241A (ko) 2011-10-10
KR101578246B1 true KR101578246B1 (ko) 2015-12-16

Family

ID=45027491

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110026137A KR101578246B1 (ko) 2010-04-02 2011-03-24 고속 서열 분석을 위한 병렬 Intra-Query 라우팅 알고리즘

Country Status (1)

Country Link
KR (1) KR101578246B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101638727B1 (ko) * 2015-01-05 2016-07-20 한국생명공학연구원 클러스터 시스템
CN110351192B (zh) * 2019-08-15 2021-05-07 电子科技大学 一种面向片上网络的多层次动态可选复合型路由控制方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100538451B1 (ko) * 2003-12-23 2005-12-22 학교법인 한국정보통신학원 분산 컴퓨팅 환경에서의 유전자 및 단백질 유사서열 검색시스템 및 그 방법
KR100654391B1 (ko) * 2005-04-22 2006-12-06 이광훈 클러스터 시스템 제어 방법 및 상기 제어 방법을 수행하는컴퓨터 판독 가능한 기록 매체를 포함하는 클러스터 시스템

Also Published As

Publication number Publication date
KR20110111241A (ko) 2011-10-10

Similar Documents

Publication Publication Date Title
CN109343963B (zh) 一种容器集群的应用访问方法、装置及相关设备
US10545914B2 (en) Distributed object storage
TWI430102B (zh) 網路卡資源配置方法、儲存媒體、及電腦
US11637889B2 (en) Configuration recommendation for a microservice architecture
US9003425B2 (en) Optimizing workflow engines
US20160321104A1 (en) Method and apparatus for scheduling concurrent task
CN110209719B (zh) 一种基于微服务架构的多种数据库统一访问系统及方法
US10459729B2 (en) Map tables for hardware tables
WO2011137189A1 (en) System and methods for mapping and searching objects in multidimensional space
JP2022549527A (ja) データ処理方法、装置、分散型データフロープログラミングフレームワーク及び関連コンポーネント
US11947534B2 (en) Connection pools for parallel processing applications accessing distributed databases
US7751346B2 (en) Apparatus for searching TCP and UDP sockets
KR101578246B1 (ko) 고속 서열 분석을 위한 병렬 Intra-Query 라우팅 알고리즘
US8694618B2 (en) Maximizing data transfer through multiple network devices
Guo Aggregating uncertain incast transfers in BCube-like data centers
CN101547209B (zh) 一种信息表项的更新方法和设备
US20130110968A1 (en) Reducing latency in multicast traffic reception
US20210073043A1 (en) Method and system for uniform, consistent, stateless and deterministic consistent hashing for fixed size partitions
US9590897B1 (en) Methods and systems for network devices and associated network transmissions
KR101578245B1 (ko) PC 클라우드 환경에서 고속 서열 분석을 위한 병렬 Inter-Query 라우팅 알고리즘
US11233739B2 (en) Load balancing system and method
CN113590323A (zh) 面向MapReduce的数据传输方法、装置、设备及存储介质
CN102739550A (zh) 基于随机副本分配的多存储器流水路由体系结构
Wu et al. Scalable pipelined IP lookup with prefix tries
US20230418681A1 (en) Intelligent layer derived deployment of containers

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191210

Year of fee payment: 5