SPNP를 이용한 이중화 모델들의 가용도 비교분석

Availability Comparison of Redundancy Models Using Stochastic Models

  • cc icon
  • ABSTRACT

    시스템 및 네트워크의 끊김 없는 안정적인 서비스를 위해 다양한 서비스 지원방안이 제안되었다. 대표적으로 복수의 서비스 시스템으로 안정적인 서비스를 지원하는 이중화가 있다. 다양한 이중화 시스템이 제안되었고 이러한 이중화 시스템은 서비스 지원 시스템의 개수에 따라 다양한 형태를 가진다. 본 논문에서는 복수의 이중화 시스템에 대하여 다양한 이중화 모델의 가용도를 분석하고자 한다. 가용도분석도구로는 복잡한 이중화 시스템을 비교적 간단히 분석 가능한 SRN기반의 SPNP를 이용한다. 본 논문은 다양한 이중화 모델을 설명하고 서비스 지원 시스템의 개수에 따른 이중화 모델의 가용도를 SPNP를 이용하여 비교 분석한다.


    We suggest various supporting methods for seamless services to support the stable service of system and network. As a representative, the redundancy is the duplication for supporting the stable service of the system and networks. The various redundancy systems have been proposed, these may have a variety forms depending on the number of the service supporting systems. We analyze a availability of a various redundancy model about a redundancy systems. We use a SRN based SPNP as an analysis tool. In this paper, we explain a various redundancy models, then compare and analyze the availability of redundancy models according to a number of service units.

  • KEYWORD

    이중화 모형 , 가용도 , 확률 모형 , SPNP

  • Ⅰ. 서 론

    안정적인 서비스 지원은 데이터 전송시스템 및 시스템 엔지니어링분야에서의 궁극적인 목적이다. 데이터 전송시스템에는 데이터 전송의 신뢰성을 높이기 위해 Automatic Repeat Request와 Forward Error Correction등의 다양한 방법이 제안되었다[1].

    데이터 전송시스템에서의 안정적인 데이터전송방법과 함께 시스템 엔지니어링 분야에서는 다양한 방식의 시스템 이중화가 제안되어 있다. 대표적으로 2N, N+M, N-Way, N-Way Active 모델 등이 있다[2]. 이러한 모델의 성능은 신뢰도, 가용도, 보수성 등으로 나타낼 수 있는데, 신뢰도 및 가용도는 시스템의 구조와 구성 요소의 고장 및 복구에 근거하여 시스템의 동작 행동을 분석하여 구할 수 있다. 이중화 시스템에는 가용도를 향상시키기 위한 각종 기능이 있다. 예를 들어, 장애에 대한 내구력을 강화하기 위한 프로세서의 이중화 기능, 장애를 조기에 검출하기 위한 프로세서 진단 기능, 장애의 원인 규명을 용이하게 하기 위한 보수 정보의 로깅 기능 등이 있다. 보수성은 장애 발생 시 얼마나 빨리 장애를 극복할 수 있는지를 나타낸다. 시스템의 성능 및 안정성을 분석하는 도구에는 수학적인 분석 방법과 시뮬레이션을 통한 분석방법이 있다. 수학적인 분석방법을 사용할 때, 시스템이 복잡해지면 수학적 모형도 복잡해지기 때문에 시스템을 모델링하는데 어려움이 있으며, 일단 모델링을 했다 하더라도 수학적으로 분석하기가 힘든 경우가 많다. 다양한 시뮬레이션 도구를 이용한 분석방법은 시뮬레이션 도구자체를 이해하고 설계하는데 많은 비용이 필요하다는 단점이 있다.

    본 논문에서는 다양한 이중화 모델을 설명하고 이를 기반으로 이중화 모델에 대한 성능을 분석하고자 한다. 이러한 이중화 모델의 성능 분석 문제를 해결하기 위해 본 논문에서는 이중화 시스템을 Stochastic Reward Net(SRN)으로 모델링하고 이를 Stochastic Petri Net Package(SPNP)를 이용하여 분석하고자 한다[3].

    본 논문의 구성은 다음과 같다. 2장에서는 시스템 분석 모델과 다양한 이중화 모형을 소개하고, 3장에서는 Service Unit(SU)의 개수에 따른 이중화 모델을 SRN 모형으로 설계한다. 4장에서는 설계된 SRN 모형을 분석하기 위한 시스템 파라미터를 설명하고 성능을 분석한다. 5장에서는 결론을 맺고 향후 연구 방향을 소개한다.

    Ⅱ. 관련연구

       2.1. 시스템 분석모델

    네트워크나 시스템을 모델링하는 대표적인 도구로서 페트리 네트가 있다. 페트리 네트는 장소, 천이, 토큰등으로 구성되며, 장소는 원으로, 천이는 막대로, 토큰은 점이나 숫자로 나타낸다. 토큰은 한 장소로부터 천이를 거쳐서 다른 장소로 움직이며, 이때 천이의 통과를 발사라고 한다. 천이의 각 입력 장소에 적어도 하나의 토큰이 있을 때, 그 천이는 활성화되었다고 한다[4].

    다음으로, 추계적 페트리 네트는 각 천이에 발사시간을 할당한 페트리 네트의 확장모델이다. 천이가 지수분포의 발사시간을 가지는 천이를 시간 천이라 하고, 0의 발사시간을 가지는 천이 즉 시간의 지체 없이 바로 발사되는 천이를 즉시 천이라고 한다[5].

    확장된 추계적 페트리 네트는 최소한 하나의 즉시 천이가 발사 가능한 무형 마킹과 시간 천이들의 마킹인 유형 마킹으로 구성된다. 여기서 마킹이란 페트리 네트의 상태를 나타내는 것으로 토큰들이 할당된 장소나 개수가 같지 않으면 서로 다른 마킹에 해당된다[5].

    확장된 추계적 페트리 네트에 모델링 기능을 강화하여 복잡한 시스템을 간결한 모형으로 모델링할 수 있게 해 주는 모델이 SRN이다. 이 SRN에서 각 유형 마킹은 하나 이상의 보상율을 배정 받을 수 있다. 시간 천이의 발사율, 다수의 입출력 아크, 그리고 마킹에 대한 보상율과 같은 파라미터는 SRN에서 장소에 있는 토큰 수에 대한 함수로 나타난다. SRN에서 모든 출력 값은 보상율 함수의 기댓값으로 표현된다. 시스템의 성능을 얻기 위해서는 SRN 모델에 적당한 보상 값을 할당한다.

    이 SRN 모형은 모형에 따라 수학적으로 엄밀하게 분석할 수도 있고, 수치적으로 분석할 수도 있으며, 시뮬레이션을 통한 분석도 가능하다. SRN 모형의 장점은 시스템의 동작 원리만 알면 분석을 위한 모델링 작업이 어렵지 않다는 데 있다. SRN 모델의 해를 구하기 위해 SPNP를 사용한다. SRN은 SPNP에 의해 마르코프 보상모델로 변환되며, 마르코프 보상 모델을 분석하여 성능을 구하게 된다.

       2.2. 이중화 기술

    이중화 기술은 복수의 시스템을 이용해 서비스를 구성하는 것으로, 장애 발생 시에도 시스템의 가용성을 높일 수 있다는 장점이 있다. 잘 알려진 이중화 모델에는 2N 이중화, N+M 이중화, N-Way 이중화, N-Way Active 이중화 모델 등이 있다. 본 논문에서는 다양한 이중화 모델들을 간략하게 소개하고, 각 모델들의 가용성을 분석하고자 한다. 각 이중화 모델에 대한 자세한 설명은 [2]에서 확인할 수 있다. 2N 이중화 모델에서 Service Group (SG)에는 모든 Service Instance (SI)에 대하여 Active한 하나의 Service Uint (SU)과 모든 SI에 대하여 Standby인 하나의 SU가 존재한다. 각 SI에는 많아야 하나의 Active SU와 Standby SU가 할당된다[2].

    N+M 이중화 모델에는 N개의 Active SU와 M개의 Standby SU가 있다. 이 모델은 2N 이중화 모델과 유사하나 Active SU와 Standby SU의 수가 제한되어 있지 않다는 차이점이 있다[2].

    N-Way 이중화 모델은 복수의 SI에 할당되는 N개의 SU가 존재한다. 각각의 SU는 일부 SI에는 Active상태로 다른 일부 SI에는 Standby 상태로 동시에 할당될 수 있다. 각각의 SI는 많아야 하나의 Active SU가 할당될 수 있지만, Standby SU는 동시에 다수개가 할당될 수 있다. 그림 1은 N-Way 이중화 모형을 나타낸 것이다.

    N-Way Active 이중화 모델에는 N개의 SU가 존재한다. 각각의 SU는 그것에 할당된 모든 SI에 대해서 Active 상태이다. 각각의 SU는 어떤 SI에 대해서도 Standby 상태로 할당되지 않는다. 서비스 입장에서 각각의 SI에 대하여 복수의 SU가 Active 상태로 할당될 수 있다[2].

    Ⅲ. 이중화 모형의 SRN 모델

    이중화 모형의 SRN 모델을 설명하기 전에 이중화를 하지 않은 단일 시스템의 SRN 모델에 대하여 알아본다. 단일 시스템은 한 개의 SU가 한 개의 SG로 동작한다. 하나의 SU는 Active상태로 동작하다 장애가 발생하면 수리하여 다시 Active상태로 동작한다. 그림 2는 단일 시스템의 SRN 모델을 나타내었다.

    다음은 SU가 2개인 이중화 모형의 SRN모델이다. 2N 이중화 모델을 예로 들어 설명한다. 두 개의 SU를 각각 SU1, SU2라 하자. SG는 2N 이중화 구조로 동작하는데, 정상 상태에서 두 SU 중 하나는 Active 상태에 있게 되고, 다른 하나는 Standby 상태에 있게 된다. 그림 3은 SU가 2개인 2N 이중화 모형의 SRN 모델이다.

    그림 4는 SU가 3개인 이중화 모형의 SRN 모델이다. 각 SU는 active, standby, active_faulty, standby_faulty, unistantiated, instantiated 중 하나의 상태에 있게 되고, 이 상태를 각각 하나의 장소로 표시하였다.

    천이 Tiaf와 Tisf는 SUi가 각각 active 상태와 standby 상태에서 결함이 발생하는 것을 나타내는데, 정상 상태에서 결함이 발생할 때까지의 시간은 발생률이 각각 λiaf와 λisf인 지수 분포를 따른다고 가정한다. 천이 Tiac와 Tisc는 SUi가 각각 active_faulty 상태와 standby_faulty 상태에서 cleanup 과정을 수행하는 것을 나타내는데, 그 기간은 rate이 각각 λiac와 λisc인 지수분포를 따른다고 가정한다.

    천이 Tiwa는 SUi를 인스턴트화하는 과정이며, 그 기간은 rate이 λiwa인 지수 분포를 따른다고 가정한다.

    천이 Tisa_aa는 SUi가 standby 상태에서 active 상태로 전환하는 것을 나타내며, guard 조건 Gisa_aa를 만족할 때 활성화되어 천이를 완료하는데 걸리는 시간은 rate이 λisa_aa인 지수분포를 따른다고 가정한다. 천이 Tisa와 Tiaa는 instantiated 된 SUi가 각각 standby 상태와 active 상태로 전환하는 것을 나타내며, 각각 guard 조건 Gisa와 Giaa를 만족할 때 활성화되어 천이를 완료하는데 걸리는 시간은 rate이 각각 λisa와 λiaa인 지수분포를 따른다고 가정한다. 모델들은 [6]의 SRN 모형을 참고하여 설계하였다. 이중화 모형의 각 천이에 대한 guard 조건은 표 1과 같다[6].

    Ⅳ. 이중화 모형의 성능평가

       4.1. 성능분석을 위한 시스템 파라미터

    이중화 모델들의 성능평가지표로 가용도를 이용한다. 가용도란 이용자의 입장에서 보아 어느 정도 사용할 수 있는가 하는 것을 표시하는 것으로, 임의의 시간에 시스템이 가용한 상태에 있을 확률로 계산할 수 있다.

    표 2는 가용도를 구하기 위하여 이중화 시스템에서 사용한 시스템 파라미터 값이다. 이 파라미터 값 중 일부는 [6]에서 제시한 값을 사용하였다.

       4.2. 이중화 시스템의 가용도

    이중화 형태 중 Standby가 있는 모델은 3가지 형태를 가질 수 있다. Standby의 형태는 Hot, Warm, Cold로 구분할 수 있다. Hot Standby의 경우 소프트웨어 컴포넌트들은 기존 노드와 보조 노드 양쪽 모두에 설치되어 활용된다. 보조 시스템의 소프트웨어 컴포넌트들은 켜져 있지만 데이터를 처리하거나 요청을 처리하지 않는다. 데이터는 거의 실시간으로 미러(Mirror)되고 양쪽 시스템은 동일한 데이터를 갖는다. 데이터 리플리케이션은 전형적으로 소프트웨어의 기능을 통해서 이루어진다. Warm Standby의 경우에도 소프트웨어 컴포넌트는 보조 노드에 설치되어 활용된다. 보조 노드는 켜지고 운영된다. 기존 노드가 실패 할 때에 이러한 소프트웨어 컴포넌트들은 보조 노드에서 시작되어진다. 이 과정은 일반적으로 클러스터 매니저를 사용해 자동화된다. Cold Standby의 경우, 보조 노드는 다른 동일한 기존 시스템의 백업처럼 동작한다. 이 보조 노드는 기존 노드가 고장이 발생했을 때만 처음으로 설치된다. 그러고 나서, 기존 노드가 실패할 때에 보조 노드는 켜지고 마지막으로 실패된 컴포넌트가 시작되기 이전 데이터로 복구되어진다. 기존 시스템의 데이터는 스토리지 시스템으로 백업되어질 수 있고 필요할 때 마다 보조 시스템으로 복구 되어질 수 있다[7].

    그림 2, 3, 4와 같이 SU가 1, 2, 3개인 시스템을 표 2의 파라미터를 사용하여 가용도를 분석하였다.

    표 3은 SU가 1, 2, 3개인 이중화 시스템의 가용도를 나타낸 표로 이중화 모델, 이중화 형태, 가용도, CPU, 메모리 등의 정보를 나타내었다. SU의 개수에 따른 가용성에 초점을 맞추어 분석하고 설명한다. 한 개의 SU가 있는 경우, 하나의 SG는 하나의 SU로 구성되기 때문에 이중화 모델은 아니다. 이중화 모델을 사용하지 않은 단일 시스템의 경우 가용도는 99.998%로 Five Nines를 유지하지 못한다.

    두 개의 SU가 있는 경우, N-Way 이중화 모델은 2N과 같은 형태이기 때문에, 2N과 Two Active를 가지는 N-Way Active, 두 가지로 구분할 수 있다. 이때 Standby는 Hot, Warm, Cold로 구분하였다. 2N 이중화 모델의 경우 Hot에서 Cold로 갈수록 1/λsa_aa가 증가하기 때문에 가용성은 낮아진다. 1/λsa_aa 값은 Hot의 경우 100 ms, Warm의 경우 300 ms, Cold의 경우 500 ms로 차별화하여 시뮬레이션을 수행하였다. 세 가지 Standby모델 모두 Five Nines를 유지하였다. 앞서 설명한 것처럼 이 값이 더 큰 값을 가지게 되면 Five Nines를 유지하지 못할 수도 있다. 이러한 값은 가용성을 향상시키기 위한 이중화 시스템 설계에 큰 영향을 미치는 변수로 작용한다. N-way Active모델은 2개의 SU 모두 Active로 동작하는 모델이다. 이때 가용성은 Hot standby를 가지는 2N 모델보다 가용도가 높은 것을 확인할 수 있다.

    3개의 SU가 있는 경우는 2N, N-Way, N-Way Active 세 가지 모델이 가능하다. 2N 모델은 Active, Standby, Spare로 구성되며 Standby는 Hot, Warm, Cold로 나누어진다. N-Way는 하나의 Active와 두 개의 Standby 형태와 두 개의 Active와 하나의 Standby 형태로 나눌 수 있다. 마지막으로 N-Way Active는 세 개의 SU 모두 Active로 동작하는 모델이다. 2N 모델의 경우 Hot Standby에서 Cold Standby로 갈수록 가용성이 낮아지는 것을 확인할 수 있었고, Spare로 사용되는 SU를 각각 가지기 때문에 2개의 SU로 동작하는 2N 모델과 비교했을 때 다소 높은 가용성을 가지는 것을 확인할 수 있었다. N-Way의 경우 하나의 Active와 두 개의 Standby 모델은 Hot Standby에서 Cold Standby로 갈수록 가용성이 낮아졌으며, 두 개의 SU를 가지는 2N 모델과 비교했을 때 각 Standby 모델에 대하여 높은 가용성을 가지는 것을 확인할 수 있었다. 두 개의 Active와 한개의 Standby 모델은 Hot Standby에서 Cold Standby로 갈수록 가용성이 낮아졌으며 하나의 Active와 2개의 Standby를 가지는 모델에 비해 가용성이 높다는 것을 확인하였다. N-Way Active모델은 3개의 SU가 모두 Active로 동작하는 모델로 가용도가 거의 1이 되는 것을 확인하였다.

    다수의 SU를 가지는 경우 Standby SU를 Active SU으로 전환하는 시간(1/λsa_aa)이 가용성을 결정하는 중요한 요소이다. 또한 N-Way Active, 2+1, 1+2, 2N 이중화의 순으로 가용도가 높다. 이를 효율적으로 사용하여 비용은 줄이고 가용성을 높일 수 있는 시스템을 설계할 수 있을 것이다.

    Ⅴ. 결론 및 향후 연구

    본 연구는 SU의 개수에 따라 이중화 모델을 분류하고 각 이중화 모델 가용도를 분석하는 연구로 먼저 성능분석 모델 및 이중화 모델에 대하여 설명하였다. 복잡한 이중화 시스템을 효율적으로 분석하기 위해 SRN을 기반으로 이중화 모형을 SU의 개수에 따라 모델링하였고, 이것을 SPNP를 이용하여 가용도를 분석했다.

    향후, 시스템의 가용도를 향상시킬 수 있는 다양한 기법에 대하여 모델링하고 가용도를 분석함으로써 안정적인 서비스 지원 모델을 제시하고자 한다.

  • 1. Chen L., Shi X., Yan S., Wu Z., Zhang W., Guan Y. Mar. 2007 "A novel scheme for type-II hybrid ARQ protocols using LDPC codes," [in IEEE Wireless Communication and Networking Conference] P.682-686 google
  • 2. 2003 Application Interface Specification google
  • 3. Haverkort B. R. 1993 "Approximate performability and dependability modeling using generalized stochastic Petri nets," [Performance Evaluation] Vol.18 P.61-78 google doi
  • 4. Malhotra M., Muppala J. K., Trivedi K. S. 1994 "Stiffnesstolerant methods for transient analysis of stiff Markov chains," [Microelectron. Relib.] Vol.34 P.1825-1841 google doi
  • 5. Ciardo G., Trivedi K. S. 1999 "SPNP Users Manual, Version 6.0," Technical report google
  • 6. Kanso A., Khendek F., Mishra A., Toeroe M. 2011 “Integrating Legacy Applications for High Availability: a Case Study” [2011 IEEE 13th International Symposium on High-Assurance Systems Engineering] P.83-90 google
  • 7. Mokaddis G.S., EL-Sherbeny M, Mahmoud Ayid Y. 2009 Stochastic Behavior of a Two-Unit Warm Standby System with Two Types of Repairment and Patience Time [Journal of Mathematics and Statics] Vol.5 P.42-46 google doi
  • [그림 1.] N-Way 이중화 모형[2]
    N-Way 이중화 모형[2]
  • [그림 2.] 단일 시스템의 SRN 모형
    단일 시스템의 SRN 모형
  • [그림 3.] SU가 2개인 이중화 시스템의 SRN 모형
    SU가 2개인 이중화 시스템의 SRN 모형
  • [그림 4.] SU가 3개인 이중화 모델의 SRN 모형
    SU가 3개인 이중화 모델의 SRN 모형
  • [표 1.] 이중화 모형들의 guard 조건
    이중화 모형들의 guard 조건
  • [표 2.] SU가 2개인 2N 이중화 모형의 성능평가 파라미터
    SU가 2개인 2N 이중화 모형의 성능평가 파라미터
  • [표 3.] SU가 1, 2, 3개인 이중화 시스템에서 Standby형태에 따른 가용도(%), CPU(MIPS), 메모리(Kbyte)
    SU가 1, 2, 3개인 이중화 시스템에서 Standby형태에 따른 가용도(%), CPU(MIPS), 메모리(Kbyte)