노원우 교수
Wan-Oh No
연세대학교 전기전자공학부
연구실 소개
노원우 교수의 연구실은 모바일 환경과 다중 코어 아키텍처에서의 효율적이고 안정적인 시스템 설계를 핵심으로 삼고 있습니다. 이는 모바일 피어 투 피어 네트워크, 트랜잭셔널 메모리, 하이퍼바이저 기반 가상화 환경 등에서의 성능 최적화와 보안 문제 해결을 포함합니다. 특히, 자원 제약이 큰 모바일 기기와 클라우드 환경에서의 자원 할당, 병렬 처리, 데이터 일관성 유지에 초점을 맞춘 연구를 진행하고 있습니다. 연구는 하드웨어와 소프트웨어의 융합을 통해 실질적인 성능 향상을 도모하는 데 그 목적이 있습니다.
연구 현황
연구 성과 추이
표시된 성과는 수집된 데이터 기준으로 산출되며, 일부 차이가 있을 수 있습니다.
주요 논문
15Mobile peer-to-peer (P2P) systems have recently got in the limelight of the research community that is striving to build efficient and effective mobile content addressable networks. Along this line of research, we propose a new peer-to-peer file sharing protocol suited to mobile ad hoc networks (MANET). The main ingredients of our protocol are network coding and mobility assisted data propagation, i.e., single-hop communication. We argue that network coding in combination with single-hop communi
Mobile devices have been widespread and become very popular with connectivity to the Internet, and a lot of desktop PC applications are now aggressively ported to them. Unfortunately, mobile devices are often vulnerable to malicious attacks due to their common usage and connectivity to the Internet. Therefore, the demands on the development of mobile security systems increase in accordance with advances in mobile computing. However, it is very hard to run a security program on a mobile device al
다중 코어 프로세서의 보급과 더불어 이를 효율적으로 활용하기 위한 병렬 프로그래밍의 중요성은 나날이 강조되고 있다. 트랜잭셔널 메모리는 병렬 프로그래밍의 핵심적인 요소인 동기화(Synchronization)를 위해 제안된 구조로서 lock을 사용한 동기화로 인해 발생하는 병렬성 저하, deadlock 등의 문제를 극복할 수 있다. 본 논문은 높은 수준의 contention 상황에 따른 효율적인 트랜잭셔널 메모리의 구조에 대한 이론적인 분석을 제시하며 시뮬레이션을 통해 분석의 타당성을 확인한다. 시뮬레이션 환경은 하드웨어 트랜잭셔널 메모리(Hardware Transactional Memory) 시스템으로 구성되었으며 이론의 검증을 위해STAMP 벤치마크와 높은 contention을 유발하는 프로그램을 시뮬레이션 하였다. 또한 트랜잭셔널 메모리를 적용한 dining philosopher problem의 모델링을 통해 효율적인 자원 할당 방안에 있어 lazy 데이터 관리 정책이 유리함을
트랜잭셔널 메모리 시스템에서 오버플로우(overflow) 발생 시 이를 처리하기 위한 데이터의 기록은 그 복잡성으로 인해 전체 시스템 성능 저하의 주요 요인이 된다. 특히, 오버플로우 된 데이터가 일으킬 수 있는 충돌감지를 위해 캐시 일관성 프로토콜 상에 추가적인 상태 설정이 요구되며 이로 인해 트랜잭션간 커뮤니케이션에 지연이 발생한다. 이러한 문제점을 해결하기위해 우리는 트랜잭셔널 메모리 시스템에서 오버플로우에 의해 발생하는 오버 헤드를 줄이기 위한 효율적인 캐시 구조를 연구하였다. 본 논문에서 제안하는 보조 캐시(supportive cache)는 1차 캐시와 동일한 교체 정책을 사용하며 병렬 룩업이 가능하도록 작동한다. 보조 캐시의 성능 평가를 위해 하드웨어 트랜잭셔널 메모리 시스템인 LogTM-SE를 사용하였으며 시뮬레이션결과 평균적으로 37%의 성능 향상을 보였다.
본 논문에서는 Cell BE 프로세서를 사용한 효율적인 병렬 블록 암호화 알고리즘을 제시한다. 제안하는 알고리즘은, 이종 프로세서인 Cell BE의 특성을 효율적으로 활용하기 위하여 PPE와 SPE에 서로 다른 부호화/복호화 방식을 적용하여 그 성능을 개선하였다. 본 논문에 제시된 구현 방식을 바탕으로 검증된 결과에 따르면, 제안하는 알고리즘은 고성능 네트워크 시스템을 지원할 수 있는 2.59Gbps의 성능을 보여준다. 이는, 다른 다중 코어 프로세서의 병렬 구현 방식과 비교할 때, 1.34배 증가된 성능의 부호화/복호화 속도를 제공한다.
클라우드 컴퓨팅 서비스 환경에서 가상화 기술은 클라우드 컴퓨팅을 위한 필수 요소로 자리잡고 있다. 가상화는 한정된 물리 자원을 공유하므로 가상 머신에 대한 자원 할당 관리는 중요하다. 일련의 작업은 하이퍼바이저에 존재하는 스케줄러에 의해 이루어지는데 특정 가상 머신에 I/O 요청이 집중되는 경우, 기존의 스케줄러는 이에 대한 처리가 미흡하다. 이는 특히, 가상 머신 상에서 소프트웨어 로드 밸런서를 구동시킬 때 두드러진다. 본 논문에서는, 이를 해결하기 위해 가상화 환경에서 동작하는 소프트웨어 로드 밸런서의 성능을 향상시킬 수 있는 구조를 제안한다. 가용 유휴 자원이 존재할 경우, 스케줄러와 소프트웨어 로드 밸런서 간의 통신을 통해 멀티 프로세스로 동작함으로써 유휴 자원을 활용할 수 있도록 한다. 이를 통해 가상 머신에서 할당하는 자원 변경에 의한 오버 헤드 없이 로드 밸런서의 성능을 향상시킬 수 있음을 보인다.
IPS(Intelligent Power Switch)는 내부에 논리 회로를 포함한 반도체 스위치 소자로, 논리 회로를 통한 부하의 능동적 제어를 가능하게 함으로써 기존의 차량 내 적용된 퓨즈 및 릴레이 소자를 대체할 스위칭 소자로서 각광받고 있다. 이러한 IPS의 능동적 역할을 활용하기 위해서는 각 IPS 소자를 제어할 수 있는 제어 시스템과 각 소자 및 시스템을 연결하기 위한 통신 시스템이 마련되어야 한다. 따라서 본 논문은 IPS 소자를 사용한 제어 회로 및 제어 알고리즘을 제안하고, 차량용 통신 시스템으로 널리 사용되는 CAN 프로토콜을 사용한 각 소자와 시스템 간의 통신 시스템을 제안한다.
다중 코어 프로세서가 널리 보급되면서 멀티 쓰레디드 프로그램 상의 동기화를 용이하게 구현할 수 있는 해결 방안으로 트랜잭셔널 메모리가 각광을 받고 있다. 이를 위해 고성능의 하드웨어 트랜잭셔널 메모리에 관한 연구가 활발히 진행되고 있으며, 대표적인 연구결과로 UTM, VTM, FastTM, LogTM, LogTM-SE 등이 소개되었다. 특히, 충돌 감지 정책으로 시그니처를 사용한 LogTM-SE는 효율적인 메모리 관리와 쓰레드 스케쥴링을 통해 고성능의 트랜잭셔널 메모리를 구현하였다. 하지만, 이 방식은 프로세서 내부의 코어 수가 증가하는 것에 비례하여 한 코어가 비교해야 하는 시그니처의 수가 증가하는 문제점을 갖고 있다. 이는 시그니처 처리 과정에서 병목현상을 야기하여 전체 성능을 저해하는 요인이 될 수 있다. 본 논문에서는 시그니처 비교 과정에서 나타날 수 있는 이러한 병목 현상을 개선하여 전체 트랜잭셔널 메모리의 성능 향상을 이루고자 다중 시그니처 비교 방식의 새로운 구조를 제안
MapReduce 프로그래밍 모델은 대규모의 데이터를 병렬 처리하기 위해 널리 사용되고 있으며, GPGPU를 사용해 MapReduce 프로그래밍 모델의 실행을 가속하기 위한 연구가 진행되었다. 하지만, GPGPU를 사용한 가속 방식은 저장 장치와 호스트 시스템간 인터페이스의 데이터 전송 대역폭에 의해 성능이 제한 받는 문제점을 가지고 있다. 본 논문에서는 이러한 문제점을 해결하기 위해 SSD에 내장 가능한 MapReduce 가속기 구조를 제안하며, 제안하는 가속기를 사용해 얻을 수 있는 성능 향상을 평가한다. 제안하는 가속기의 연산 장치는 GPGPU의 single instruction multi thread (SIMT) 구조를 확장하여, reduction 기반 MapReduce 애플리케이션을 가속하기 위한 실행 파이프라인 및 이를 사용하기 위한 명령어를 가진다. 다수의 SIMT 연산기는 플래시 채널에 근접해 병렬적으로 데이터를 처리하며, 플래시 메모리 접근 지연시간을 감추기 위해 r
This paper presents a study on a high-performance design for a block cipher algorithm implemented on modern many-core graphics processing units (GPUs). The recent emergence of VLSI technology makes it feasible to fabricate multiple processing cores on a single chip and enables general-purpose computation on a GPU (GPGPU). The GPU strategy offers significant performance improvements for all-purpose computation and can be used to support a broad variety of applications, including cryptography. We
패턴 매칭 알고리즘은 컴퓨터 네트워크, 유비쿼터스 네트워크, 그리고 센서 네트워크 등을 위한 보안 프로그램에 주로 사용 된다. IT 기술의 발전과 함께 정보의 디지털화가 가속화되면서 네트워크를 통해 전달되는 데이터양이 급증하고 있다. 이에 따라 패턴 매칭 연산의 복잡도도 폭발적으로 증가하고 있다. 따라서 더 많은 패턴을 보다 빠르게 검색할 수 있는 고성능 알고리즘의 개발이 끊임없이 요구되고 있다. 본 논문은 서픽스 트리 기반 패턴 매칭 알고리즘을 새롭게 제안하여 대용량 패턴 매칭 연산의 성능을 높였다. 서픽스 트리는 사전에 정의된 복수 패턴들의 서픽스를 기반으로 생성된다. 이 트리에 쉬프트 노드 개념을 추가하여 기존 패턴 매칭 연산들 중 불필요한 연산의 수행 횟수를 줄였다. 결과적으로 제안하는 구조를 통해 기존 알고리즘 대비 24% 이상의 성능 향상을 이루었다.
본 논문은 solid state drive (SSD)에 내장하기 위해 경량화 된 정규표현식 매칭 가속기 구조에 관한 연구이다. SSD에 내장된 연산 장치를 이용해 데이터를 처리하는 인-스토리지 프로세싱 (ISP) 기술은 대규모 데이터를 효과적으로 처리하기 위한 기술이며, 정규표현식 매칭은 ISP 기술을 적용해 높은 매칭 성능을 얻을 수 있다. 그러나 SSD 내부 임베디드 CPU를 사용한 정규표현식 매칭은 그 성능이 제한적이며, 기존에 제안된 finite state machine (FSM) 기반 정규표현식 매칭 가속기를 내장할 경우 FSM의 상태 전이 정보를 저장하기 위한 온-칩 메모리의 사용에 따른 하드웨어 비용증가 문제가 발생할 수 있다. 본 논문에서는 간단한 구조의 FSM 기반 패턴 매칭 하드웨어 모듈을 다수 사용해 SSD 내부 데이터 전송 대역폭에 준하는 정규표현식 매칭 성능을 얻는 가속기의 구조를 제안한다. 또한 가속기의 온-칩 메모리 사용량을 줄이기 위한 매칭 모듈 간에 온
Large Language Model(LLM)은 점점 더 많은 token을 처리할 수 있는 방향으로 발전하고 있다. LLM은 Multi-Head Attention을 주요 연산으로 활용하는데, 이에 따라 token 개수에 비례하여 행렬곱 및 softmax의 연산량이 증가한다. GPU는 행렬곱 가속을 위해 Tensor Core를 지원하지만, softmax 연산은 범용 연산기인 CUDA Core에서 수행된다. Softmax 연산은 지수 함수 계산과 모든 입력값의 총합 연산을 필요로 하며, CUDA Core에서 이를 수행할 경우 두 가지 주요 한계가 존재한다. CUDA Core는 SIMT 구조를 기반으로 여러 thread를 동시에 실행하지만, softmax 연산의 합산 과정에서는 thread 간 데이터 공유가 필요하기 때문에 warp 단위로 동기화가 요구된다. 둘째, CUDA Core는 Tensor Core 대비 연산 처리량이 낮아 softmax 연산의 성능이 제한될 수 있다. 본 논문은
스트리밍 서비스에 사용되는 트랜스코딩 서버는 동시에 다수의 트랜스코딩 요청을 처리한다. 하지만 트랜스코딩 연산의 부하가 높기 때문에 단일 서버가 수용할 수 있는 요청 개수는 제한적일 수밖에 없다. 본 논문에서는 단일 서버의 트랜스코딩 성능을 높이고자 CPU 기반 트랜스코더와 GPU 기반 트랜스코더를 동시에 사용하는 듀얼 트랜스코딩 방법을 제안한다. 듀얼 트랜스코딩 방법은 트랜스코딩 요청을 처리하기 전에 워크로드를 예측하여 해당 요청에 대한 QoS유지가 가능한지 판단한다. QoS유지가 가능하다고 판단되면 CPU 또는 GPU 트랜스코더 중 보다 적합한 타입의 장치에 작업을 할당함으로써 연산 자원의 효율성을 높인다. 성능 평가 결과 듀얼 트랜스코딩 기법은 기존 방식 대비 최대 1.84배의 성능 향상을 이루었다. 결과적으로 단일 서버가 보다 많은 사용자의 요청을 QoS 유지 하에 제공할 수 있게 되었다.
최근 대규모 언어 모델이 다양한 분야에 활용되면서, 연산 성능 최적화에 대한 연구가 주목받고 있다. 이러한 모델은 Attention Layer, Feed-Forward Layer, 그리고 Layer Normalization으로 구성되며, 이 중 Attention Layer가 전체 실행 시간의 약 48%를 차지한다. Attention Layer는 다섯 단계의 순차적인 연산으로 이루어지며, 다음과 같다. 먼저, Query, Key, 그리고 Value를 생성하는 단계가 있으며 생성한 Query와 Key를 이용하여 Score를 계산한다. 그리고 Score 값은 Softmax 연산을 통해 다시 Probablity를 생성하고 이를 다시 첫 단계에서 생성한 Value와 곱하여 Attention Matrix를 만든다. 그 후 최종적으로 가중치를 곱하여 출력값을 생성하는 순차적인 다섯 단계를 가진다. 그러나 초기 단계에서 생성된 Value는 네 번째 단계까지 사용되지 않아 비효율이 발생한다. 본 연
노원우 교수의 연구를 Nubint에서 더 깊이 살펴보세요
이 연구실의 논문을 앱에서 열어 AI와 함께 읽고, 핵심을 요약하고, 내 글에 인용하세요.