• 제목/요약/키워드: 호출횟수

검색결과 25건 처리시간 0.022초

페이지랭크 알고리즘을 이용한 결합도 척도의 개선 (Using PageRank Algorithm to Improve Coupling Metrics)

  • 박철현;류성태;이은석
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2011년도 춘계학술발표대회
    • /
    • pp.1405-1408
    • /
    • 2011
  • 소프트웨어 품질 측정은 소프트웨어 공학의 필수적인 요소이다. 소프트웨어 품질 척도 중 하나인 결합도는 모듈간의 얼마나 강하게 연결되어있는지를 나타낸다. 결합도는 소프트웨어의 결함-경향성, 모듈화, 재사용성, 변경-경향성 등 다양한 목적으로 사용된다. 기존의 결합도 척도들은 메소드호출 횟수에 의해서 결정되는데, 이는 메소드의 가중치를 고려하지 않기 때문에 결합도를 정확히 측정 하지 못한다. 본 논문은 페이지랭크 알고리즘을 이용하여 메소드의 가중치를 측정하고, 이를 이용한 결합도 척도 개선 방법에 대해 제안한다. 본 논문의 유효성을 검증하기 위하여, 4 개의 오픈 소스 프로젝트를 대상으로 기존의 방법과 개선된 방법으로 결합도 척도 3 개를 측정하였다. 개선된 결합도 3 개는 유지보수의 척도로 사용되는 변경-경향성(Change-Proneness)과의 상관계수가 기존의 결합도 척도에 비하여 눈의 띄게 향상되었다. 따라서 개선된 결합도 척도는 소프트웨어 품질을 더 정확하게 측정할 수 있다.

안정적인 API 게이트웨이를 위한 스트림 기반 API 조합 (Stream-based API composition for stable API Gateway)

  • 조동일
    • 인터넷정보학회논문지
    • /
    • 제25권1호
    • /
    • pp.1-8
    • /
    • 2024
  • API 게이트웨이에서 API 조합은 클라이언트의 호출 횟수를 줄이고 오버페칭과 언더페칭을 방지할 수 있는 필수적인 기능이다. IMJ(In-Memory Join)로 동작하는 API 조합은 많은 자원을 소모하여 API 게이트웨이의 성능에 부담을 준다. 본 연구에서는 IMJ 방식의 API 조합의 문제를 개선하기 위해 조합할 데이터를 스트리밍으로 클라이언트에 전달하는 SAPIC(Stream-based API Composition)를 제안한다. SAPIC는 클라이언트 응답 메시지를 구성하는 각각의 MSA API를 호출하여 받은 응답 메시지를 즉시 클라이언트로 스트리밍하여 IMJ에 비해 API 게이트웨이의 자원 소모를 줄이고 빠른 응답시간을 제공할 수 있다. 대표적인 API 조합 기술인 GraphQL 비교실험결과 SAPIC는 GraphQL에 비해 약 21 ~ 70 % 낮은 최대 CPU 점유율과 약 16 ~ 74 % 낮은 최대 Heap 사용량 그리고 1 ~ 2.3 배의 높은 처리량을 기록하였다.

JPV 소수 생성 알고리즘의 확률적 분석 및 성능 개선 (Probabilistic Analysis of JPV Prime Generation Algorithm and its Improvement)

  • 박희진;조호성
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제35권2호
    • /
    • pp.75-83
    • /
    • 2008
  • Joye와 연구자들은 기존의 조합 소수 판단 검사에서 trial division 과정을 제거한 새로운 소수 생성 알고리즘 (이하 JPV 알고리즘)을 제시하였으며, 이 알고리즘이 기존의 조합 소수 생성 알고리즘에 비해 $30{\sim}40%$ 정도 빠르다고 주장하였다. 하지만 이 비교는 전체 수행시간이 아닌 Fermat 검사의 호출 횟수만을 비교한 것으로 정확한 비교와는 거리가 있다. 기존의 조합 소수 생성 알고리즘에 대해 이론적인 수행시간 예측 방법이 있음에도 불구하고 두 알고리즘의 전체 수행시간을 비교할 수 없었던 이유는 JPV 알고리즘에 대한 이론적인 수행 시간 예측 모델이 없었기 때문이다. 본 논문에서는 먼저 JPV 알고리즘을 확률적으로 분석하여 수행시간 예측 모델을 제시하고, 이 모델을 이용하여 JPV 알고리즘과 기존의 조차 소수 생성 알고리즘의 전체 수행시간을 비교한다. 이 모델을 이용하여 펜티엄4 시스템에서 512비트 소수의 생성 시간을 예측해 본 결과 Fermat 검사의 호출 횟수를 이용한 비교와는 달리 JPV 알고리즘이 기존의 조합 소수 생성 알고리즘보다 느리다는 결론을 얻었다. 이러한 이론적인 분석을 통한 비교는 실제 동일한 환경에서 실험을 통해서 검증되었다. 또한, 본 논문에서는 JPV 알고리즘의 성능 개선 방법을 제시한다. 이 방법을 사용하여 JPV 알고리즘을 개선하면 동일한 공간을 사용할 경우에 JPV 알고리즘이 기존의 조합 소수 생성 알고리즘과 비슷한 성능을 보인다.

효율적인 RFID 시스템을 위한 Adaptive Group Separation 충돌방지 알고리듬 (Adaptive Group Separation Anti-Collision Algorithm for Efficient RFID System)

  • 이현수;이석희;김상기;방성일
    • 대한전자공학회논문지TC
    • /
    • 제46권5호
    • /
    • pp.48-55
    • /
    • 2009
  • 본 논문에서는 효율적인 RFID 시스템을 위한 Adaptive Group Separation 알고리듬을 제안하였다. AGS 알고리듬은 최적의 초기 prefix size j을 결정하고 개의 그룹으로 태그를 나눈다. 리더는 그룹을 차례로 하나씩 호출하여 태그 ID를 검색한다. 만약 충돌이 발생하면 리더는 충돌이 발생한 첫 번때 비트에 '0' 또는 '1'을 추가한다. 결과적으로, 태그를 인식하기 위한 전송비트와 인신 시간이 감소한다. 본 논문에서 제안한 AGS 충돌방지 알고리듬은 태그의 개수를 256개까지 변화시켜 가면서 반복횟수와 전송비트수를 기존의 충돌방지 알고리듬과 비교하였다. 본 논문에서 제안한 AGS 알고리듬은 모의실험 결과를 통한 성능평가에서 슬롯 이진 트리 알고리듬보다 반복횟수는 약 32.3% 개선되었으며, 전송비트수는 약 1/40배 감소하였다.

디자인 패턴을 적용한 네트워크 게임의 DB 관리 APIs 설계 (The APIs Design for the Database Management of the Network Game Using Design Patterns)

  • 김종수;권오준;김태석
    • 한국멀티미디어학회논문지
    • /
    • 제9권1호
    • /
    • pp.101-108
    • /
    • 2006
  • 현재 인터넷에서 서비스되고 있는 네트워크 게임을 개발하는 경우, 개발 인원과 시간이 많이 투입되는 프로젝트이기 때문에, 게임 제작 시 기존에 작성되어 있는 코드를 재사용이 가능하도록 설계하는 것은 중요한 일이다. 게임에 사용되는 데이터베이스는 많은 클라이언트들이 접근하는데, 자원의 효율적인 관리를 위해서, 데이터베이스의 접근횟수를 최소화하고 데이터를 효율적으로 처리할 수 있는 API(application program interface) 설계가 필수적이다. 이러한 문제를 해결하기 위해 관련 소프트웨어 모듈의 객체지향적인 설계가 필요하다. 본 논문에서는 데이터베이스 자원을 다루는데 필요한 효율적인 API 구현을 위해 GoF(gang of four)의 디자인 패턴을 제안한다. 몇 개의 게임 GUI(graphical user interface) 분석을 통해 설계된 데이터베이스는 일반적인 데이터베이스 설계 단계에서 설계의 검토 및 수정을 최소화하여 최적화된 스키마 집합을 빠른 시간에 생성할 수 있다는 장점이 있고, 이것을 기초로 데이터베이스 서버 측 API 설계에 GoF의 디자인 패턴을 적용함으로써 게임 서버와 데이터베이스의 호출 횟수가 실질적으로 감소하고, 개발된 API를 손쉽게 유지보수 할 수 있으며, 새로운 API의 추가가 쉽다는 장점이 있었다.

  • PDF

내장형 소프트웨어의 성능 향상을 위한 새로운 레지스터 할당 기법 (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%의 성능향상을 얻을 수 있었다.

레지스터 프로모션을 이용한 내장형 소프트웨어의 성능 향상 (Performance Enhancement of Embedded Software Using Register Promotion)

  • 이종열
    • 정보처리학회논문지A
    • /
    • 제11A권5호
    • /
    • pp.373-382
    • /
    • 2004
  • 이 논문에서는 내장형 소프트웨어의 성능 향상을 위하여 사용될 수 있는 레지스터 프로모션의 새로운 기법을 제안한다. 레지스터 프로모션은 프로그램 내의 메모리 접근 연산(memory access)을 레지스터 접근 연산(register access)으로 바꾸어서 프로그램의 성능 향상을 꾀하는 최적화 방법 중의 하나이다. 제안된 방법에서는 프로파일링(profiling)을 통하여 주어진 소스 코드 내에서의 메모리 접근 연산에 대한 트레이스(trace)를 얻는다. 그리고 각 함수의 수행 횟수에 대한 프로파일링 결과로부터 높은 동적 호출 횟수를 가지는 대상 함수를 선정하여 제안된 레지스터 프로모션 기법을 적용한다. 이와 같이 최적화의 대상이 되는 함수의 수를 줄임으로써 컴파일 시간을 줄일 수 있다. 최적화 대상 함수의 메모리 트레이스를 탐색하여 레지스터 접근 연산으로 변경될 경우 수행 사이클을 줄일 수 있는 메모리 접근 연산을 찾는다. 찾아진 메모리 접근 연산에 대해서는 컴파일러의 중간단계 코드를 수정하여 프로모션 레지스터를 할당한다. 이와 같은 과정을 거쳐 메모리 접근 연산이 프로모션 레지스터에 대한 접근 연산으로 대체되고 이로부터 성능향상을 얻을 수 있다. 제안된 레지스터 프로모션 기법을 ARM과 MCORE 프로세서용 컴파일러에 적용한 후 MediaBench와 DSPStone 벤치마크을 이용하여 실험한 결과 ARM과 MCORE 프로세서에 대하여 각각 평균 14%와 18%의 성능향상을 얻을 수 있었다.

보안 서비스를 고려한 이동 에이전트 모델과 클라이언트-서버 모델의 성능 비교 (A Performance Comparison of the Mobile Agent Model with the Client-Server Model under Security Conditions)

  • 한승완;정기문;박승배;임형석
    • 한국정보과학회논문지:정보통신
    • /
    • 제29권3호
    • /
    • pp.286-298
    • /
    • 2002
  • 분산 컴퓨팅 환경에서 프로세스 사이의 상호 협력을 위한 통신으로 인격 프로시져 호출이 전통적으로 사용되고 있다. 분산 응용이 더욱 복잡해짐에 따라 최근 이동 에이전트 패러다임이 등장하였다. 이처럼 다양한 상호 협력을 위한 통신 패러다임이 등장함에 따라 각 패러다임의 성능에 대한 평가와 비교 연구가 이루어지고 있다. 그러나 기존의 연구에서 성능 평가를 위해 사용한 성능 모델들은 보안 서비스를 위한 평가 요소를 고려하고 있지 않기 때문에 실제 분산 환경을 제대로 반영하지 못한다. 분산 환경은 개방되어 있으므로 정보의 노출이나 도청과 같은 공격에 있어서 상당히 취약하다. 이러한 분산 환경에서 안전하게 작업을 수행하기 위해서는 여러 가지 공격으로부터 응용 프로그램이나 정보를 보호하기 위한 보안 서비스가 고려되어야 한다. 본 논문에서는 상호 협력을 위한 통신 패러다임 중 인격 프로시져 호출과 이동 에이전트의 성능을 평가하고 비교한다. 분산 응용 프로그램을 안전하게 수행하기 위해 고려해야 하는 보안 서비스에 관하여 알아보고, 이러한 보안 서비스를 적용한 새로운 성능 모델을 제시한다. N개의 데이타베이스 서버에서 사용자가 필요한 정보를 검색하는 작업을 Petri Net으로 모델링하고, 각 파라미터에 수치 값을 할당해서 수행속도를 측정하여 두 패러다임의 성능을 비교한다. 본 논문에서 안전한 통신을 위하여 보안 서비스를 적용한 두 성능 모델의 비교 결과는 다음과 같다. 원격 프로시져 호출은 연산 비용이 높은 암호화 메커니즘을 포함하는 통신 횟수와 통신량이 많기 때문에 실행 시간이 급격하게 증가하지만, 이동 에이전트 패러다임은 통신 횟수와 통신량을 줄인 수 있으므로 실행시간이 완만하게 증가하는 것을 살펴볼 수 있다.멀티미디어 제작환경을 구축하는 것이 디지털 방송 시대의 방송 사업자에게 가장 중요한 과제중의 하나가 되었다. 멀티미디어 제작환경을 구축함으로써 영상, 음성 및 다양한 부가 데이터를 포함하는 멀티미디어 프로그램을 편리하게 제작할 수 있으며, 데이터베이스로부터 필요한 영상 이미지를 자유롭게 합성, 조작하는 등, 매우 다양하고 편리한 제작기법을 활용할 수 있다. 또한 멀티미디어를 응용한 제작 분야로서 컴퓨터 그래픽스 기술은 방송의 사전제작에 커다란 기여를 하고 있으며, 이미 선거방송을 비롯한 여러가지 프로그램은 가상스튜디오와 가상캐릭터 기술을 활용하여 제작하고 있다. 방송사업자는 이러한 멀티미디어 제작시스템을 근간으로 영상검색, 영상 합성, 스크립트 편집, 가상현실 응용 등 고도의 제작 기법을 활용함으로써 사용자 친화성, 다이나믹한 표현, 실시간, 대화성을 특징으로 하는 다양한 멀티미디어 서비스를 시청자에게 제공할 수 있을 것이다.is. Using the results, we can identify dominant overestimation sources that should be analyzed more accurately to get tighter WCET estimations. To make our method independent of any existing analysis techniques, we use simulation based methodology. We have implemented a MIPS R3000 simulator equipped with several switches, each of which determines the accuracy level of the timing analysis

ARM용 내장형 소프트웨어의 정적인 수행시간 분석 도구 (Static Timing Analysis Tool for ARM-based Embedded Software)

  • 황요섭;안성용;심재홍;이정아
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제11권1호
    • /
    • pp.15-25
    • /
    • 2005
  • 내장형 시스템에서 응용 프로그램을 구동시킬 때는 일련의 태스크들의 집합을 수행하여야 한다. 이러한 태스크들은 특정 하드웨어로 구현 될 수도 있고, 특정 프로세서에서 구동되는 소프트웨어로 구현될 수도 있다. 내장형 시스템에서 응용 프로그램을 구동시키기 위하여 하드웨어/소프트웨어의 자원 선택 및 작업 분할이 필요하게 되고 이때 하드웨어 및 소프트웨어의 성능 예측이 이용된다. 하드웨어 성능 예측과 달리 소프트웨어 성능 예측은 구동 환경과 밀접한 관계가 있으며, 하드웨어 소프트웨어 통합 설계를 위하여 최적 및 최악의 수행 시간 경계를 예측하는 것은 중요한 문제이다. 수행 시간 경계의 엄격한 예측은 저 비용의 프로세서를 사용할 수 있게 하며, 시스템 비용을 낮추는데 도움을 준다. 본 논문에서는 ARM용 내장형 시스템을 고려하여, loop문의 반복 횟수 경계 값과 프로그램의 추가적인 경로 호출 정보를 이용하여, 수행 시간의 경계를 최대한 실제 값에 접근하도록 예측하는 도구를 개발하였다. 개발된 도구는 현재 i960과 m68k 아키텍처를 지원하는 "Cinderella"라는 시간 분석 도구를 기본 도구로 활용하고 있다. ARM 프로세서를 지원하기 위하여 제어흐름과 디버깅 정보를 추출할 수 있는 ARM ELF 목적 파일 모듈을 추가하고, ARM 명령어 집합을 처리할 수 있는 모듈을 기존 도구에 추가하였다. 여러 가지 벤치마크 프로그램을 대상으로 실시한 실험 결과, 임의의 입력 데이타를 이용하고 수행 횟수를 고려한 ARMulator의 수행 시간이 구현된 도구에서의 정적인 수행 시간 예측 경계 값으로 들어오는 것을 확인할 수 있었다.

네트워크 소요시간 최소화를 위한 이동 에이전트의 멀티캐스트 이주 모델 구현 (Implementation of Mobile Agent Multicast Migration Model for Minimizing Network Required Time)

  • 김광종;고현;김영자;이연식
    • 정보처리학회논문지D
    • /
    • 제12D권2호
    • /
    • pp.289-302
    • /
    • 2005
  • 이동 에이전트는 호스트 간의 통신 횟수, 전송 데이터의 양, 에이전트의 크기, 네트워크 상태 등의 요소에 따라 매우 다양한 성능을 보이며 특히, 이주 방식은 분산 시스템의 전체 성능에 큰 영향을 준다. 대부분의 기존 이주 방식은 고정된 순서대로 호스트를 방문하고 방문한 호스트에서 작업을 수행한 후, 결과를 계속 누적시키면서 이주하는 단순 구조를 가지고 있다. 그러므로 호스트의 결점 및 장애, 서비스 부재 등과 같은 상황이나 방문해야할 호스트의 수가 많을 경우, 네트워크 소요시간이 증가되어 이동 에이전트를 사용하는 것 자체가 비효율적일 수 있다. 따라서 본 논문에서는 이러한 문제들을 해결하여 네트워크 소요시간을 최소화하기 위한 멀티캐스트 이주 모델을 설계 및 구현한다. 멀티캐스트 이주 모델은 분산된 서버의 위치 투명성 및 에이전트 객체 복제 정보를 제공하는 네이밍 에이전트와 호출 모듈만을 포함한 이동 에이전트 등과 같은 요소를 포함한다. 그리고 구현된 이주 모델을 검증하기 위해 프로토타입 시스템에 적용하여 기존 이주 방식과 비교 평가한다.