• 제목/요약/키워드: 동적 메모리 할당

검색결과 77건 처리시간 0.025초

고성능 컴퓨팅 시스템을 위한 효율적인 동적 작업부하 균등화 정책 (An Efficient Dynamic Workload Balancing Strategy for High-Performance Computing System)

  • 이원주;박말순
    • 한국컴퓨터정보학회논문지
    • /
    • 제13권5호
    • /
    • pp.45-52
    • /
    • 2008
  • 본 논문에서는 고성능 컴퓨팅 시스템의 성능 향상을 위한 효율적인 동적 작업부하 균등화 정책을 제안한다. 이 정책은 시스템 자원인 CPU와 메모리를 효율적으로 사용하여 고성능 컴퓨팅 시스템의 처리량을 최대화하고, 각 작업의 수행시간을 최소화한다. 또한 이 정책은 수행중인 작업의 메모리 요구량과 각 노드의 부하 상태를 파악하여 작업을 동적으로 할당한다. 이때 작업을 할당받은 노드가 과부하 상태가 되면 다른 노드로 작업을 이주시켜 각 노드의 작업부하를 균등하게 유지함으로써 작업의 대기시간을 줄이고, 각 작업의 수행시간을 단축한다. 본 논문에서는 시뮬레이션을 통하여 제안하는 동적 작업부하 균등화 정책이 기존의 메모리 기반의 작업부하 균등화 정책에 비해 고성능 컴퓨팅 시스템의 성능 향상 면에서 우수함을 보인다.

  • PDF

동적 기호 실행을 이용한 힙 메모리 OOB 취약점 자동 탐지 방법 (Automated Method for Detecting OOB Vulnerability of Heap Memory Using Dynamic Symbolic Execution)

  • 강상용;박성현;노봉남
    • 정보보호학회논문지
    • /
    • 제28권4호
    • /
    • pp.919-928
    • /
    • 2018
  • OOB(Out-Of-Bounds)는 힙 메모리에서 발생하는 취약점 중 가장 강력한 취약점 중 하나이다. OOB 취약점을 이용하면 Array의 길이를 속여 해당 길이만큼의 메모리를 읽기 혹은 쓰기가 가능하기 때문에 공격자는 기밀 정보에 대한 무단 액세스를 악용할 수 있다. 본 논문에서는 동적 기호 실행과 쉐도우 메모리 테이블을 활용하여 힙 메모리에서 발생하는 OOB 취약점을 자동으로 탐지하는 방법을 제안한다. 먼저, 힙 메모리 할당 및 해제 함수 후킹을 통해 쉐도우 메모리 테이블을 구축한다. 이후 메모리 액세스가 발생할 때, 쉐도우 메모리를 참조하여 OOB가 발생할 수 있는지를 판단하고, 발생 가능성이 존재할 경우 크래시를 유발하는 테스트케이스를 자동으로 생성한다. 제안하는 방법을 활용할 경우, 취약한 블록 탐색에 성공한다면 반드시 OOB를 유발하는 테스트케이스를 생성할 수 있다. 뿐만 아니라 전통적인 동적 기호 실행과는 다르게 명확한 목표 지점을 설정하지 않더라도 취약점 탐색이 가능하다.

내장형 소프트웨어의 성능 향상을 위한 새로운 레지스터 할당 기법 (A New Register Allocation Technique for Performance Enhancement of Embedded Software)

  • Jong-Yeol, Lee
    • 대한전자공학회논문지SD
    • /
    • 제41권10호
    • /
    • pp.85-94
    • /
    • 2004
  • 본 논문에서는 메모리 접근 연산을 레지스터 접근 연산으로 변환함으로써 레지스터를 할당하여 내장형 소프트웨어의 성능 향상을 도모할 수 있는 위한 레지스터 할당 기법을 제안한다. 제안된 방법에서는 프로파일링(Profiling)을 통하여 메모리 트레이스(trace)를 얻는다. 그리고 각 함수의 수행 횟수에 대한 프로파일링 결과로부터 높은 동적 호출 횟수를 가지는 대상 함수를 선정하여 제안된 레지스터 할당 기법을 적용한다. 이와 같이 최적화의 대상이 되는 함수의 수를 줄임으로써 전체적인 컴파일 시간을 줄일 수 있다. 최적화대상 함수의 메모리 트레이스를 탐색하여 레지스터 접근 연산으로 변경될 경우 수행 사이클을 줄일 수 있는 메모리 접근 연산을 찾는다. 찾아진 메모리 접근 연산에 대해서는 컴파일러의 중간단계 코드를 수정하여 프로모션 레지스터(promotion register)를 할당한다. 이와 같은 과정을 거쳐 메모리 접근 연산이 프로모션 레지스터에 대한 접근 연산으로 대체되고 이로부터 성능향상을 얻을 수 있다. 제안된 레지스터 프로모션 기법을 ARM과 MCORE 프로세서용 컴파일러에 적용한 후 MediaBench와 DSPStone 벤치마크를 이용하여 cycle count를 비교함으로써 성능을 측정하였다. 그 결과 ARM과 MCORE에 대하여 평균 14%와 18%의 성능향상을 얻을 수 있었다.

NAND 플래시메모리를 위한 가상메모리의 쓰기 참조 분석 및 페이지 교체 알고리즘 설계 (Analyzing Virtual Memory Write Characteristics and Designing Page Replacement Algorithms for NAND Flash Memory)

  • 이혜정;반효경
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제36권6호
    • /
    • pp.543-556
    • /
    • 2009
  • 최근 NAND 플래시메모리를 모바일시스템의 파일저장용 뿐 아니라 가상메모리의 스왑장치용으로 사용하려는 시도가 늘고 있다. 가상메모리의 페이지 참조는 시간지역성이 지배적이어서 LRU 및 이를 근사시킨 CLOCK 알고리즘이 널리 사용된다. 한편, NAND 플래시메모리는 읽기 연산에 비해 쓰기 연산의 비용이 높아 이를 고려한 페이지 교체 알고리즘이 필요하다. 본 논문에서는 가살메모리의 읽기/쓰기 참조 패턴을 독립적으로 분석하여 시간지역성이 강한 읽기 참조와 달리 쓰기 참조의 경우 시간지역성의 순위 역전 현상이 발생함을 발견하였다. 이에 근거하여 본 논문은 쓰기의 재참조 성향 예측을 위해 시간지역성뿐 아니라 쓰기 연산의 빈도를 함께 고려하는 페이지 교체 알고리즘을 제안한다. 새로운 알고리즘은 연산별 I/O 비용을 고려해서 메모리 공간을 읽기 연산과 쓰기 연산에 독립적으로 할당하고 참조 패턴의 변화에 적응해 할당 공간을 동적으로 변화시킨다. 알고리즘의 시간 오버헤드가 매우 적어 가상메모리 시스템에서 사용될 최적의 조건을 갖추고 있으며 파라미터 설정이 필요 없음에도 CLOCK, CAR, CFLRU 알고리즘에 비해 20-66% 정도의 I/O 성능을 향상시킴을 보였다.

플래시 메모리 파일 시스템을 위한 순수도 기반 페이지 할당 기법에 대한 연구 (A Study of Purity-based Page Allocation Scheme for Flash Memory File Systems)

  • 백승재;최종무
    • 정보처리학회논문지A
    • /
    • 제13A권5호
    • /
    • pp.387-398
    • /
    • 2006
  • 본 논문에서는 플래시 메모리 파일 시스템을 위한 새로운 페이지 할당 기법을 제안한다. 제안된 기법은 순수도를 고려하여 페이지를 할당하며, 이때 순수도는 플래시 메모리에서 유효한 페이지와 유효하지 않은 페이지가 공존하는 블록의 비율로 정의된다. 순수도는 플래시 메모리 파일 시스템의 블록 클리닝(block cleaning) 비용, 구체적으로 블록 클리닝을 수행할 때 복사해야할 페이지와 삭제해야할 블록의 양을 결정한다. 제안된 기법은 순수도를 향상시키기 위해 빈번하게 변경되는 데이터와 그렇지 않은 데이터를 구분하고, 이들을 서로 다른 블록에 할당한다 데 이터의 구분은 데이터의 속성 등의 정적 특성과 수행 시 변경 횟수 등의 동적 특성을 모두 고려한다 제안된 기법은 내장형 보드와 YAFFS 상에 구현되었으며, 성능 분석 결과 기존 YAFFS에 비해 최대 15.4초 (평균 7.8초) 블록 클리닝 시간을 단축시켰다. 또한 이용율이 증가함에 따라 제안된 기법이 더욱 좋은 성능을 제공하였다.

안드로이드 기반의 심전도 측정 어플리케이션 구현 (Implementation of ECG Measurement Application Based on Android)

  • 박병호;장성원;허범;박상주;성현경
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2011년도 제44차 하계학술발표논문집 19권2호
    • /
    • pp.67-70
    • /
    • 2011
  • 본 논문에서는 고성능 컴퓨팅 시스템의 성능 향상을 위한 효율적인 동적 작업부하 균등화 정책을 제안한다. 이 정책은 시스템 자원인 CPU와 메모리를 효율적으로 사용하여 고성능 컴퓨팅 시스템의 처리량을 최대화하고, 각 작업의 수행시간을 최소화한다. 또한 이 정책은 수행중인 작업의 메모리 요구량과 각 노드의 부하 상태를 파악하여 작업을 동적으로 할당한다. 이때 작업을 할당 받은 노드가 과부하 상태가 되면 다른 노드로 작업을 이주시켜 각 노드의 작업부하를 균등하게 유지함으로써 작업의 대기시간을 줄이고, 각 작업의 수행시간을 단축한다. 본 논문에서는 시뮬레이션을 통하여 제안하는 동적 작업부하 균등화 정책이 기존의 메모리 기반의 작업부하 균등화 정책에 비해 고성능 컴퓨팅 시스템의 성능 향상 면에서 우수함을 보인다.

  • PDF

동적으로 할당된 구조체를 위한 압축된 필드 재배치 (Compact Field Remapping for Dynamically Allocated Structures)

  • 김정은;한환수
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제32권10호
    • /
    • pp.1003-1012
    • /
    • 2005
  • 내장형 시스템과 범용 시스템의 가장 큰 차이는 유한한 전력인 배터리를 사용한다는 것과 대용량의 디스크를 사용하지 않고 메모리에 의존한다는 것이다. 특히 멀티미디어 데이타를 처리하는 응용프로그램이 늘어감에 따라 메모리 사용량이 기하급수적으로 증가하고 있어서 메모리가 성능과 에너지 소비의 병목지점으로 작용하게 되었다. 따라서 데이타 접근 비용을 줄이고자 하는 시도가 많이 이루어지고 있다. 대부분의 프로그램은 지역성을 갖는다. 지역성은 한번 참조된 데이타가 조만간 다시 참조된다는 시간적 지역성(temporal locality)과 근접한 곳에 할당된 데이타끼리 함께 참조된다는 공간적 지역성(spatial locality)으로 나눌 수 있다. 최근의 많은 임베디드시스템은 이 두 가지 지역성을 이용한 캐시 메모리를 사용함으로써 메모리 접근 시간을 대폭 줄이고 있다. 우리는 이 논문에서 낭비되는 메모리 공간을 줄이고, 캐시 실패율(cache miss rate)과 프로그램 수행시간을 줄일 수 있도록 구조체 형식의 데이타를 항목(field)별로 재배치시키는 알고리즘을 제안하고자 한다. 이 알고리즘은 동적으로 할당되는 구조체의 각 필드를 압축된 형태로 모아서 재배치함으로써, 실험에서 사용한 Olden 벤치마크의 Ll캐시 실패는 평균 $13.9\%$를, L2 캐시 실패는 평균 $15.9\%$를 이전 연구들보다 줄일 수 있었다. 수행시간 또한 이전의 방법보다 평균 $10.9\%$ 줄인 결과를 얻을 수 있었다.

실시간 운영체제에서 메모리 관리 구현 (Implementation of Memory Management for Real-Time Operating Systems)

  • 안희중;박윤미;성영락;이철훈
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2003년도 춘계학술발표논문집 (상)
    • /
    • pp.483-486
    • /
    • 2003
  • 실시간 운영체제는 효율성 및 공평성을 중시하는 다른 범용 운영체제와는 달리 논리적 정확성과 시간적 정확성을 보장하기 위해 스케줄링하는 운영체제를 의미한다. 임베디드 시스템에서 동작하는 실시간 운영체제는 제한된 환경에서 제한된 목적으로 사용되고 있다. 특히 메모리는 실시간 운영체제의 실행에 있어서 꼭 필요한 자원이므로 이에 대한 효과적인 관리가 필수적이라 할 수 있다. 본 논문은 동적 메모리 할당을 위한 힙 스토리지 매니저와 메모리 풀을 설계하고 구현한 내용을 기술한다.

  • PDF

Object C의 가비지 컬렉션을 통한 메모리 관리 정책 분석 및 전망 (Analysis and Forecast for Object-C garbage collection memory management policies.)

  • 권예진;박용범
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2013년도 춘계학술발표대회
    • /
    • pp.994-997
    • /
    • 2013
  • 가비지 컬렉션(Garbage Collection)은 시스템에서 더 이상 사용하지 않는 동적 할당된 메모리 블록 혹은 개체를 찾아 자동적으로 다시 사용 가능한 자원으로 회수하는 것을 의미한다. 최근 대부분의 프로그래밍 언어에서는 메모리 관리를 자동으로 처리해주는 가비지 컬렉터를 기본적으로 포함하고 있으며 이러한 시스템 환경은 개발자들의 개발 속도 향상과 프로그램 가독성을 높여주는 이점을 주고 있다. 그러나 가비지 컬렉터는 자원이 한정되어 있는 스마트폰과 같은 환경에서는 큰 오버헤드를 가지며 성능 저하의 주 원인으로 꼽히기도 한다. 따라서 iOS의 경우에는 가비지 컬렉터를 지원하지 않는다. 이에 따라 본 연구에서는 스마트폰의 안드로이드와 iOS의 프로그래밍 언어인 Java와 Object C의 가비지 컬렉터의 알고리즘을 분석하여 두 언어의 개발환경의 차이를 비교 하였다. 또한 앞으로 Object C의 메모리 관리 정책에 대하여 서술하였다.

C언어 기반 프로그램의 동적 메모리 접근 오류 테스트 자동화 도구 설계 (Design of an Automated Testing Tool to Detect Dynamic Memory Access Errors in C Programs)

  • 조대완;오승욱;김현수
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제34권8호
    • /
    • pp.708-720
    • /
    • 2007
  • 메모리 접근연산으로부터 발생되는 프로그램 오류는 C언어로 작성된 테스트 대상 프로그램에서 가장 빈번하게 발생하는 오류이다[1,2]. 기존연구를 통해 이런 문제점을 해결하기 위한 다양한 메모리 오류 자동검출 방법들이 제안되었다. 하지만 기존의 오류검출방법은 테스트 대상 프로그램에 가해지는 부가적인 오버헤드가 매우 크거나 검출할 수 있는 메모리 접근오류의 종류가 제한적이다. 또한 메모리 할당함수의 내부구현에 의존성을 갖고 있기 때문에 플랫폼 간 이식성(portability)이 떨어지는 단점을 갖고 있다. 본 연구에서는 이러한 문제점을 해결하기 위해 새로운 메모리 접근오류 검출기법을 제안하고 테스트 자동화 도구를 설계하였다.