KR102113662B1 - 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법 - Google Patents

모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법 Download PDF

Info

Publication number
KR102113662B1
KR102113662B1 KR1020180163410A KR20180163410A KR102113662B1 KR 102113662 B1 KR102113662 B1 KR 102113662B1 KR 1020180163410 A KR1020180163410 A KR 1020180163410A KR 20180163410 A KR20180163410 A KR 20180163410A KR 102113662 B1 KR102113662 B1 KR 102113662B1
Authority
KR
South Korea
Prior art keywords
surrogate
node
client node
task
nodes
Prior art date
Application number
KR1020180163410A
Other languages
English (en)
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 인천대학교 산학협력단
Priority to KR1020180163410A priority Critical patent/KR102113662B1/ko
Application granted granted Critical
Publication of KR102113662B1 publication Critical patent/KR102113662B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명의 일 실시예에 의한 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법은, 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법에 있어서, (A) 클라이언트 노드가 이용 가능한 대리 노드들의 개수 및 상기 대리 노드들과 관련된 매개 변수들을 획득하는 단계; (B) 상기 클라이언트 노드가 상기 매개 변수들에 기반하여 자신에게 할당될 연산량을 계산하고, 상기 자신에게 할당될 연산량에 기반하여 상기 태스크를 소정 크기의 세그먼트로 분할하는 단계; (C) 상기 클라이언트 노드가 상기 매개 변수들에 기반하여 각 대리 노드에 할당될 연산량을 계산하고, 상기 각 대리 노드에 할당될 연산량에 기반하여 자신에게 할당된 세그먼트를 뺀 나머지 태스크를 소정의 크기들의 세그먼트들로 분할하는 단계; 및 (D) 상기 클라이언트 노드가 상기 분할된 소정 크기들의 세그먼트들을 각각의 대응하는 대리 노드에 할당하는 단계를 포함한다.

Description

모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법{METHOD FOR PARTITIONING AND ALLOCATING TASK TO SURROGATE NODES IN MOBILE EDGE COMPUTING ENVIRONMENTS}
본 발명은 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법에 관한 것이다.
모바일 컴퓨팅 환경에서 사이버 포리징(Cyber foraging: 실행 대리자 탐지)[1]이라고도 알려진 연산 오프로딩은 연산량이 많은 작업 부하를 다른 컴퓨팅 리소스로 분할하여 전송함으로써 리소스가 제한된 장치를 보완하는 중요한 방법이다. 리소스가 제한된 장치 및/또는 에너지 소비를 절약할 수 있다[2-4].
최근 모바일 컴퓨팅 및 무선 통신의 급속한 발전에 따라 모바일 에지 컴퓨팅(mobile edge computing, MEC)은 모바일 사용자의 근처에 있는 모바일 네트워크의 에지에서 클라우드형 서비스를 제공하기 위해 제안되었다[5,6]. MEC는 제한된 통신 범위에서 모바일 사용자를 위한 컴퓨팅 서비스를 제공하기 위해 컴퓨팅 리소스(즉, 에지 서버)가 기지국 또는 WiFi 액세스 포인트 내에 또는 그 근처에 설치되는 분산 모바일 클라우드 컴퓨팅 환경으로 정의된다. MEC의 개념은 클라우드렛(cloudlets)[7] 또는 포그(fog) 계산[8]과 매우 유사하다. 특히 미래의 5G 통신 시스템에서 모바일 에지 컴퓨팅은 다양한 IoT 장치 및 응용 프로그램을 위한 컴퓨팅 및 스토리지 서비스를 제공하는 중요한 기술로 간주되며[6,9], QoS(Quality of Service) 보장 다양한 OTT(over-the-top) 서비스[10,11]에 대해서 OTT 서비스 제공자와 네트워크 운영자 모두에게 유익할 것이다[12].
모바일 장치에서 에지 서비스 공급자로 응용 프로그램을 오프로딩할 때 발생하는 문제를 해결하기 위해 다양한 모바일 컴퓨팅 환경에서 연산 오프로딩을 가능하게 하는 많은 기술이 제안되었다. 모든 문제 중에서 응용 프로그램을 구성 요소로 분할하는 방법과 특정 최적화 목표를 달성하기 위해 이러한 구성 요소에 사용 가능한 리소스를 할당하는 방법이 많은 관심을 끄는 가장 중요한 주제이다[13-16].
기존의 분할 및 할당 관련 연구에서 오프로딩 가능 응용 프로그램은 일반적으로 다양한 세분성 수준 및 종속성을 갖는 여러 섹션으로 구성되는 것으로 간주된다[13]. 예를 들어 전체 응용 프로그램은 메서드 수준, 스레드 수준, 클래스 수준 또는 작업 수준에서 분할될 수 있으며 이러한 모듈의 처리는 일부 선행 관계에 의해 제약될 수 있다. 일반적으로 이러한 모듈 방식으로 나눌 수 있는 응용 프로그램은 모듈에 해당하는 정점과 모듈 간의 상호 작용 또는 우선 순위 관계를 나타내는 에지가 있는 작업 상호 작용 그래프로 표시된다. 예를 들어, 완료 시간을 줄이거나 네트워크 오버헤드를 줄이거나 에너지를 절약하는 것과 같은 특정 목표를 달성하기 위해 사용 가능한 리소스 간에 이러한 응용 프로그램을 분할하고 배포하기 위해 알고리즘이나 네트워크 기반 이론 모델이 이미 제안되었다.
모듈 방식으로 분할 가능한 응용 프로그램의 경우 모듈 수, 각 모듈의 크기 및 상호 작용은 분할 및 배포 결정을 내리기 전에 미리 정의된 것으로 가정한다. 이 가정은 많은 모바일 응용 프로그램에 적용된다. 그러나 모듈화할 수 있는 경우를 제외하고는 응용 프로그램 또한 임의로 분할할 수 있다[13, 17-19]. 즉, 부분의 수와 각 부분의 크기는 분할 및 배포 결정을 내리기 전에 미리 정의되지 않는다. 실제로 그들은 결정에 의해 결정된다. 모듈 방식으로 분할 가능한 응용 프로그램과 비교할 때, 임의로 분할 가능한 응용 프로그램은 동적으로 구성된 리소스 집합에서 처리되는 데 더 적합하다: 사용 가능한 리소스의 수와 기능이 변경되면 임의로 분할 가능한 응용 프로그램은 사용 가능한 리소스들과 매칭시키기 위하여 어떤 수 및 크기의 부분들로 분할될 수 있다. 이 임의로 분할 가능한 특성을 만족시키는 응용 프로그램은 대량의 실험 데이터의 데이터 처리, 행렬 계산, 신호 처리 응용 프로그램 등을 포함한다[20].
광학 문자 인식(OCR)은 입력된 텍스트, 필기체 텍스트 또는 인쇄된 텍스트의 이미지를 디지털화된 텍스트로 변환하는 일반적인 방법이다. OCR 이미지는 많은 조각으로 나뉘어 병렬로 처리하기 위하여 처리 리소스 그룹에 할당될 수 있기 때문에, OCR은 동적 모바일 컴퓨팅 환경에 적합한 일반적으로 임의로 분할 가능한 응용 프로그램의 일종이다. [21]에서, 분할 가능한 부하 이론을 사용하여 워크 스테이션의 네트워크에서 광학 문자 인식 문제를 해결하기 위한 하이브리드 분할 방식을 도출하고 각 프로세서에 할당된 뉴런의 개수에 대한 폐쇄형 표현을 제시했다.
모바일 에지 컴퓨팅 환경에서 임의로 분할 가능한 응용 프로그램을 오프로딩하기 위해 응용 프로그램을 더 작은 섹션으로 분할하는 방법과 이러한 작은 섹션을 사용 가능한 컴퓨팅 장치에 할당하는 방법에 대한 두 가지 중요한 결정 문제로 인해 가능한 한 가장 짧은 시간에 계산이 완료된다. 지금까지 이 두 가지 기본 문제에 대한 연구가 거의 이루어지지 않았다.
분할 가능한 부하 응용 프로그램은 각 부분이 프로세서에 의해 독립적으로 실행될 수 있는 임의의 크기로 분할될 수 있는 어떤 클래스의 태스크이다[20,22]. 최근 몇 년 동안 많은 연구자들은 병렬 및 분산 컴퓨팅[23], 센서 네트워크[24,25], 그리드 컴퓨팅 [26] 및 클라우드 컴퓨팅[27-30] 분야에서 다양한 종류의 분할 가능한 응용 프로그램을 발견했으며 분할 가능한 부하 이론(divisible load theory)이라고도 불리는 분할 가능한 부하 응용 프로그램의 스케줄링 문제에 대한 충분한 연구를 수행했다. 분할 가능한 부하 응용 프로그램은 본질적으로 분할 가능한 응용 프로그램일 수도 있고, 비교적 작은 독립된 많은 태스크들로 구성된 근사일 수도 있다 [31].
분할 가능한 부하 이론의 연구에서 네트워크 토폴로지는 스케줄링 모델을 결정하는 데 매우 중요하다. 지금까지는 단일 레벨 트리, 다중 레벨 트리, 하이퍼 큐브, 임의의 그래프, 데이지 체인 네트워크 및 메시를 포함하는 다양한 토폴로지가 제안되었다[22]. 스타 및 트리 네트워크에 대한 분할 가능한 부하 스케줄링 결과에 대한 통합 토론도 제시되었다.
단일 레벨 트리 네트워크(또는 스타 네트워크)는 모든 토폴로지를 일반화할 수 있기 때문에 분할 가능한 응용 프로그램의 연구를 위한 기본적인 상호 연결 토폴로지로 간주될 수 있다. 본 발명에서 고려된 컴퓨팅 환경에서 모든 사용 가능 대리 노드가 클라이언트 노드에 직접 연결되고 단일 레벨 트리 토폴로지가 형성된다고 가정한다. 하기에, 단일 레벨 트리 네트워크에서 분할 가능한 응용 프로그램을 스케줄링하는 것과 관련된 연구에 관심이 있다.
제한된 멀티 포트 모델에서 M개의 동일한 크기의 독립적인 작업으로 구성된 분할 가능한 응용 프로그램을 스케줄링하기 위한 비선형 프로그래밍 모델과 대역폭-인식 작업 스케줄링 알고리즘이라는 휴리스틱이 2014년에 제안되었다[28]. 그러나 저자가 고려한 응용 프로그램은 임의로 분할할 수 없으므로 본 발명에 적합하지 않다. 또한, 다른 노드에서 일부 데이터를 처리하는 데 드는 비용을 계산할 때 가상 컴퓨터의 네트워크 대기 시간 및 시동 시간은 고려되지 않았다. 분산된 기회주의 컴퓨팅 환경에서는 현실적이지 않다. 본 발명에서는 네트워크 대기 시간과 시동 시간을 수학적 모델에 기반하여 고려한다.
집단적 통신 모델을 갖는 단일 레벨 트리 네트워크에서 비선형 분할 가능한 응용 프로그램에 대한 스케줄링 문제가 고려되었다[18]. 이 논문에서는 계산 시작 지연과 통신 시작 지연이 고려되었다. 그러나 주어진 프로세서에 대한 계산 시간 함수는 부하 부분 크기의 다항식이라고 가정했다. 이는 본 발명의 선형으로 분할 가능한 응용 모델과는 완전히 다르다.
분할 가능한 OCR 이미지를 분할하여 본 발명의 컴퓨팅 장치 그룹에 할당하는 솔루션과 마찬가지로 시각적 센서 네트워크에서 분할 가능한 이미지를 분할하고 스케줄링하는 방법에 대한 문제가 고려되었다[25]. 슬라이스의 픽셀 수, 비트 단위의 슬라이스 크기 및 필요한 계산량 간에 선형적인 대응 관계가 있다고 가정했다. 최적의 오프로딩 전략은 상이한 네트워킹 및 통신 패러다임 하에서 공식적으로 특성화된다. 그러나 네트워크 대기 시간 및 시동 시간은 고려하지 않았다.
많은 트렁크로 분할 가능한 응용 프로그램을 N개의 사용 가능한 컴퓨팅 작업자에게 시퀀스 방식으로 할당하기 위한 스케줄링 모델이 제안되었으므로 모든 컴퓨팅 작업자가 동시에 계산을 완료한다. 제한된 버퍼 크기를 갖는 다중 프로세서 노드들 사이에 분할 가능한 응용 프로그램을 순차적으로 분배하는 문제도 고려되었다[32]. 그러나 본 발명에서, 부분들은 마스터와 연산 작업자가 동시에 처리한다고 가정한다.
네트워크 컴퓨팅 환경에서 통신 또는 계산 프로세스는 초기 시동 시간을 필요로 한다. 다중 프로세서 및 버스 제어 장치(BCU)를 사용하는 버스 아키텍처에서 분할 가능한 작업을 예약하려면 시작 비용이 부하의 통신 및 계산 시간에 포함될 수 있다[33]. BCU는 하나씩 부하 부분들을 프로세서에 전송하는 것으로 가정한다. 이것은 로드 부분들을 병렬로 전송할 수 있는 본 발명의 집합 통신 모델과는 매우 다르다.
하나의 분할 가능한 응용 프로그램의 분할 및 할당에 초점을 맞춘 기존 연구와는 달리, 일부 연구에서는 여러 개의 분할 가능한 응용 프로그램을 스케줄링하는 문제를 조사했다. 단일 레벨 트리 네트워크에서 다중 분할 가능한 응용 프로그램을 스케줄링하는 문제를 조사하고 모든 작업의 전체 처리 시간이 최소화되도록 다중 부하를 거의 최적으로 분산시키는 효율적인 정적 스케줄링 알고리즘이 조사되었다[34]. 게다가, 서로 다른 마감 시간과 비용 특성을 갖는 분할 가능한 응용 프로그램 그룹을 균질 클라우드 컴퓨팅 환경으로 스케줄링하는 문제와 각 프로세서에 할당될 부하 부분들에 대한 폐쇄형 솔루션이 제안되었다[30]. 이러한 결과를 바탕으로 계산 및 에너지 비용이 고려될 수 있다[35]. 그러나 이 두 논문에서 통신 비용은 고려하지 않았다.
[1]. Balan, R.; Flinn, J.; Satyanarayanan,M.; Sinnamohideen, S.; Yang, H.I. The case for cyber foraging. In Proceedings of the 10th Workshop on ACMSIGOPS European Workshop, Saint-Emilion, France, 1 July 2002; ACM:NewYork, NY, USA, 2002; pp. 87-92. [2] Li, B.; Pei, Y.; Wu, H.; Shen, B. Heuristics to allocate high-performance cloudlets for computation offloading in mobile ad hoc clouds. J. Supercomput. 2015, 79, 3009-3036. [3] Abolfazli, S.; Sanaei, Z.; Ahmed, E.; Gani, A.; Buyya, R. Cloud-based augmentation for mobile devices: Motivation, taxonomies, and open challenges. IEEE Commun. Surv. Tutor. 2014, 16, 337-368. [4] Lee, B.D.; Lim, K.H.; Choi, Y.H.; Kim, N. An adaptive computation offloading decision for energy-efficient execution of mobile applications in clouds. IEICE Trans. Inf. Syst. 2014, 97, 1804-1811. [5] Mao, Y.; You, C.; Zhang, J.; Huang, K.; Letaief, K. A Survey on Mobile Edge Computing: The Communication Perspective. IEEE Commun. Surv. Tutor. 2017, 19, 2322-2358, doi:10.1109/COMST.2017.2745201. [6] Chen, M.; Hao, Y. Task Offloading for Mobile Edge Computing in Software Defined Ultra-dense Network. IEEE J. Sel. Areas Commun. 2018, doi:10.1109/JSAC.2018.2815360. [7] Lewis, G.A.; Echeverria, S.; Simanta, S.; Bradshaw, B.; Root, J. Cloudlet-based cyber-foraging for mobile systems in resource-constrained edge environments. In Proceedings of the ICSE Companion 2014 Companion Proceedings of the 36th International Conference on Software Engineering, Hyderabad, India, 31 May-7 June 2014; pp. 412-415. [8] Bonomi, F.; Milito, R.; Zhu, J.; Addepalli, S. Fog Computing and Its Role in the Internet of Things. In Proceedings of the First Edition of the MCC Workshop on Mobile Cloud Computing (MCC '12), Helsinki, Finland, 17 August 2012; ACM: New York, NY, USA, 2012; pp. 13-16, doi:10.1145/2342509.2342513. [9] Neto, J.; Yu, S.; Macedo, D.; Nogueira, J.; Langar, R.; Secci, S. ULOOF: A User Level Online Offloading Framework for Mobile Edge Computing. IEEE Trans. Mob. Comput. 2018, doi:10.1109/TMC.2018.2815015. [10] Giatsoglou, N.; Ntontin, K.; Kartsakli, E.; Antonopoulos, A.; Verikoukis, C. D2D-Aware Device Caching in mmWave-Cellular Networks. IEEE J. Sel. Areas Commun. 2017, 35, 2025-2037, doi:10.1109/JSAC.2017.2720818. [11] Datsika, E.; Antonopoulos, A.; Zorba, N.; Verikoukis, C. Software Defined Network Service Chaining for OTT Service Providers in 5G Networks. IEEE Commun. Mag. 2017, 55, 124-131, doi:10.1109/MCOM.2017.1700108. [12] Antonopoulos, A.; Kartsakli, E.; Perillo, C.; Verikoukis, C. Shedding Light on the Internet: Stakeholders and Network Neutrality. IEEE Commun. Mag. 2017, 55, 216-223, doi:10.1109/MCOM.2017.1600417. [13] Liu, J.; Ahmed, E.; Shiraz, M.; Gani, A.; Buyya, R.; Qureshi, A. Application partitioning algorithms in mobile cloud computing: Taxonomy, review and future directions. J. Netw. Comput. Appl. 2015, 48, 99-117. [14] Liu, L.; Chang, Z.; Guo, X.; Mao, S.; Ristaniemi, T. Multiobjective Optimization for Computation Offloading in Fog Computing. IEEE Internet Things J. 2018, 5, 283-294, doi:10.1109/JIOT.2017.2780236. [15] Wu, H. Multi-Objective Decision-Making for Mobile Cloud Offloading: A Survey. IEEE Access 2018, 6, 3962-3976, doi:10.1109/ACCESS.2018.2791504. [16] Huang, C.M.; Chiang, M.S.; Dao, D.T.; Su, W.L.; Xu, S.; Zhou, H. V2V Data Offloading for Cellular Network Based on the Software Defined Network (SDN) Inside Mobile Edge Computing (MEC) Architecture. IEEE Access 2018, 6, 17741-17755, doi:10.1109/ACCESS.2018.2820679. [17] Camp, T.; Boleng, J.; Davies, V. A survey of mobility models for ad hoc network research. Wirel. Commun. Mob. Comput. 2002, 2, 483-502. [18] Suresh, S.; Kim, H.; Run, C.; Robertazzi, T.G. Scheduling nonlinear divisible loads in a single level tree network. J. Supercomput. 2012, 61, 1068-1088. [19] Wang, K.; Robertazzi, T.G. Scheduling divisible loads with nonlinear communication time. IEEE Trans. Aerosp. Electron. Syst. 2015, 51, 2479-2485. [20] Bharadwaj, V.; Ghose, D.; Robertazzi, T. Divisible load theory: A new paradigm for load scheduling in distributed systems. Clust. Comput. 2003, 6, 7-17. [21] Suresh, S.; Omkar, S.N.; Mani, V. Parallel implementation of back-propagation algorithm in networks of workstations. IEEE Trans. Parallel Distrib. Syst. 2005, 16, 24-34, doi:10.1109/TPDS.2005.11. [22] Othman, S.G.M. Comprehensive Review on Divisible Load Theory: Concepts, Strategies, and Approaches. Math. Probl. Eng. 2014, 2014, 460354. [23] Beaumont, O.; Casanova, H.; Legrand, A.; Robert, Y.; Yang, Y. Scheduling divisible loads on star and tree networks: Results and open problems. IEEE Trans. Parallel Distrib. Syst. 2005, 16, 207-218. [24] Li, X.; Liu, X.; Kang, H. Sensing workload scheduling in sensor networks using divisible load theory. In Proceedings of the IEEE GLOBECOM 2007, Washington, DC, USA, 26-30 November 2007; pp. 785-789. [25] Redondi, A.; Cesana, M.; Tagliasacchi, M.; Filippini, I.; Dan, G.; Fodor, V. Cooperative image analysis in visual sensor networks. Ad Hoc Netw. 2015, 28, 38-51. [26] Zhu, T.; Wu, Y.; Yang, G. Scheduling divisible loads in the dynamic heterogeneous grid environment. In Proceedings of the 1st International Conference on Scalable Information Systems, Hong Kong, China, 1 June 2006; Volume 152, p. 8. [27] Hu,M.; Luo, J.; Veeravalli, B. Optimal provisioning for scheduling divisible loads with reserved cloud resources. In Proceedings of the 2012 18th IEEE International Conference on Networks, Singapore, 12-14 December 2012; pp. 204-209. [28] Lin,W.; Liang, C.;Wang, J.Z.; Buyya, R. Bandwidth-aware divisible task scheduling for cloud computing. Softw. Pract. Exp. 2014, 44, 163-174. [29] Khan, L.I.L. Implementation and performance evaluation of a scheduling algorithm for divisible load parallel applications in a cloud computing environment. Softw. Pract. Exp. 2015, 45, 765-781. [30] Abdullah, M.; Othman, M. Cost-based multi-QoS job scheduling using divisible load theory in cloud computing. Procedia Comput. Sci. 2013, 18, 928-935. [31] Veeravalli, B.; Viswanadham, N. Suboptimal solutions using integer approximation techniques for scheduling divisible loads on distributed bus networks. IEEE Trans. Syst. Man Cybern. Part A Syst. Humans 2000, 30, 680-691. [32] Li, X.; Bharadwaj, V.; Ko, C. Divisible load scheduling on single-level tree networks with buffer constraints. IEEE Trans. Aerosp. Electron. Syst. 2000, 36, 1298-1308. [33] Veeravalli, B.; Li, X.; Ko, C.C. On the influence of start-up costs in scheduling divisible loads on bus networks. IEEE Trans. Parallel Distrib. Syst. 2000, 11, 1288-1305. [34] Li, X.; Veeravalli, B. PPDD: Scheduling multi-site divisible loads in single-level tree networks. Clust. Comput. 2010, 13, 31-46. [35] Abdullah, M.; Othman, M. Scheduling Divisible Jobs to Optimize the Computation and Energy Costs. Int. J. Eng. Sci. Invent. 2015, 4, 27-33. [36] Yang, K.; Ou, S.; Chen, H.H. On effective offloading services for resource-constrained mobile devices running heavier mobile Internet applications. IEEE Commun. Mag. 2008, 46, 56-63.
본 발명이 해결하고자 하는 과제는 태스크를 통신 및 계산 비용에 기초하여 소정 크기들의 세그먼트들로 분할하고 분할된 태스크 세그먼트들을 각각 대응하는 대리 노드들에 병렬로 할당함으로써 전체 태스크의 최종 완료 시간을 최소화할 수 있는 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법을 제공하는 것이다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 의한 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법은, 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법에 있어서,
(A) 클라이언트 노드가 이용 가능한 대리 노드들의 개수 및 상기 대리 노드들과 관련된 매개 변수들을 획득하는 단계;
(B) 상기 클라이언트 노드가 상기 매개 변수들에 기반하여 자신에게 할당될 연산량을 계산하고, 상기 자신에게 할당될 연산량에 기반하여 상기 태스크를 소정 크기의 세그먼트로 분할하는 단계;
(C) 상기 클라이언트 노드가 상기 매개 변수들에 기반하여 각 대리 노드에 할당될 연산량을 계산하고, 상기 각 대리 노드에 할당될 연산량에 기반하여 자신에게 할당된 세그먼트를 뺀 나머지 태스크를 소정의 크기들의 세그먼트들로 분할하는 단계; 및
(D) 상기 클라이언트 노드가 상기 분할된 소정 크기들의 세그먼트들을 각각의 대응하는 대리 노드에 할당하는 단계를 포함한다.
본 발명의 일 실시예에 의한 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법에 있어서, 상기 대리 노드들과 관련된 매개 변수들은,
상기 각각의 대리 노드의 연산 능력, 상기 클라이언트 노드와 상기 각각의 대리 노드 간의 링크의 대역폭, 상기 클라이언트 노드와 상기 각각의 대리 노드의 통신 시간의 관점에서의 시동 비용, 및 상기 클라이언트 노드와 상기 각각의 대리 노드 간의 링크의 왕복 네트워크 대기 시간을 포함할 수 있다.
또한, 본 발명의 일 실시예에 의한 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법에 있어서, 상기 단계 (A)는,
(A-1) 상기 클라이언트 노드가 상기 이용 가능한 대리 노드들로 트레이닝 태스크를 전송하는 단계;
(A-2) 상기 각각의 대리 노드가 상기 트레이닝 태스크를 처리하여 처리 결과를 상기 클라이언트 노드로 전송하는 단계; 및
(A-3) 상기 클라이언트 노드가 상기 각각의 대리 노드로부터 수신된 처리 결과에 기반하여 상기 각각의 대리 노드와 관련된 매개 변수들을 획득하는 단계를 포함할 수 있다.
또한, 본 발명의 일 실시예에 의한 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법에 있어서,
상기 단계 (B)에서 상기 클라이언트 노드는,
[수학식 6]
Figure 112018126719199-pat00001
에 기반하여 자신에게 할당될 연산량(C0)을 계산하고,
k는 상기 이용 가능한 대리 노드들의 개수이며,
Figure 112018126719199-pat00002
이고,
Figure 112018126719199-pat00003
이며,
Figure 112018126719199-pat00004
이고,
i=1, ..., k이며,
상기 클라이언트 노드는, 상기 태스크의 전체 연산량과 상기 태스크의 크기의 비(α)에 기반하여, 상기 클라이언트 노드 자신에게 할당될 연산량(Co)에 대응하는 상기 태스크의 분할 크기를 계산하며,
C는 상기 태스크의 전체 연산량이고, P0는 상기 클라이언트 노드의 연산 능력이며, Pi는 상기 각각의 대리 노드의 연산 능력이고, F0는 상기 클라이언트 노드의 통신 시간의 관점에서의 시동 비용이며, Fi는 상기 각각의 대리 노드의 통신 시간의 관점에서의 시동 비용이며, Li는 상기 클라이언트 노드와 상기 각각의 대리 노드 간의 링크의 왕복 네트워크 대기 시간이고, Bi는 상기 클라이언트 노드와 상기 각각의 대리 노드 간의 링크의 대역폭이며,
상기 단계 (C)에서 상기 클라이언트 노드는,
[수학식 4]
Figure 112018126719199-pat00005
에 기반하여 각 대리 노드에 할당될 연산량(Ci)을 계산하고,
상기 클라이언트 노드는, 상기 태스크의 전체 연산량과 상기 태스크의 크기의 비(α)에 기반하여, 상기 각각의 대리 노드에 할당될 연산량(Ci)에 대응하는 상기 나머지 태스크의 분할 크기들을 계산할 수 있다.
또한, 본 발명의 일 실시예에 의한 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법에 있어서, 상기 클라이언트 노드는, 상기 모든 세그먼트의 처리 결과가 상기 클라이언트 노드에 동시에 반환되도록 상기 태스크를 소정 크기들의 세그먼트들로 분할하여 자신과 상기 각각의 대리 노드에 할당할 수 있다.
본 발명의 일 실시예에 의한 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법에 의하면, 태스크를 통신 및 계산 비용에 기초하여 소정 크기들의 세그먼트들로 분할하고 분할된 태스크 세그먼트들을 각각 대응하는 대리 노드들에 병렬로 할당함으로써 전체 태스크의 최종 완료 시간을 최소화할 수 있다.
도 1은 이용 가능한 리소스의 수가 1개(왼쪽), 2개(가운데), 그리고 4개(오른쪽)인 경우 OCR 이미지 분할의 예를 도시한 도면.
도 2는 하나의 클라이언트(노드 0)와 3개의 에지 서버(노드 1 내지 노드 3)로 구성된 모바일 에지 컴퓨팅 환경에서 처리하기 위해 도 1의 분할 가능한 OCR 이미지를 할당하는 예를 도시한 도면.
도 3은 본 발명의 일 실시예에 의한 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법이 수행되는 모바일 에지 컴퓨팅 환경을 도시한 도면.
도 4는 본 발명의 일 실시예에 의한 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법의 흐름도를 도시한 도면.
도 5는 도 4의 이용 가능한 대리 노드들과 관련된 매개 변수들을 획득하기 위한 단계의 상세 흐름도를 도시한 도면.
도 6은 네트워크 대기 시간을 고려하지 않고, 이용 가능한 리소스의 수를 달리한 경우, OCR 응용 프로그램 분할의 예를 도시한 도면.
도 7은 네트워크 대기 시간을 고려하지 않고, 이용 가능한 리소스의 수를 달리하여 실행된 응용 프로그램의 총 소요시간을 도시한 도면.
도 8은 태스크의 크기에 따른 적응형 분할 및 할당 알고리즘의 총 소요시간을 도시한 도면.
본 발명의 목적, 특정한 장점들 및 신규한 특징들은 첨부된 도면들과 연관되어지는 이하의 상세한 설명과 바람직한 실시예들로부터 더욱 명백해질 것이다.
이에 앞서 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이고 사전적인 의미로 해석되어서는 아니되며, 발명자가 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있는 원칙에 입각하여 본 발명의 기술적 사상에 부합되는 의미와 개념으로 해석되어야 한다.
본 명세서에서 각 도면의 구성요소들에 참조번호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다.
또한, "제1", "제2", "일면", "타면" 등의 용어는, 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 상기 용어들에 의해 제한되는 것은 아니다.
이하, 본 발명을 설명함에 있어, 본 발명의 요지를 불필요하게 흐릴 수 있는 관련된 공지 기술에 대한 상세한 설명은 생략한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시형태를 상세히 설명하기로 한다.
분할 가능한 응용 프로그램과 같은 태스크는 부하를 작은 부분으로 분할할 수 있는 작업 클래스이며 각 부분은 프로세서에 의해 독립적으로 실행될 수 있다. 병렬 처리 및 분산 처리 영역에서 다양한 종류의 분할 가능한 응용 프로그램이 발견되었다. 본 발명의 일 실시예에서는 응용 프로그램의 완료 시간을 최소화하기 위해 모바일 에지 컴퓨팅 환경에서 사용 가능한 리소스에 분할 가능한 응용 프로그램을 분할하고 할당하는 방법에 대한 문제를 다룬다. 응용 프로그램의 부하 및 사용 가능한 리소스의 기능에 따라 분할 가능한 전체 응용 프로그램을 분할하기 위한 이론적 모델이 제안되었으며 솔루션은 폐쇄형으로 도출되었다. 이 모델의 실행 가능성과 성능을 정당화하기 위해 시뮬레이션과 실제 실험을 수행했다.
구체적으로, 본 발명의 일 실시예에서 선형 함수 세트가 분할 문제를 모델링하고 전체 응용 프로그램의 완료 시간을 최소화하기 위해 사용 가능한 리소스 그룹간에 임의로 분할 가능한 응용 프로그램을 할당하기 위해 제안되었다. 이 모델에서 응용 프로그램 및 해당 세그먼트의 통신 및 계산 비용과 관련된 모든 요소가 고려되었다. 여기에는 응용 프로그램 및 해당 세그먼트에 필요한 계산량, 리소스의 계산 기능, 리소스의 시작 지연, 전송할 데이터의 양, 리소스 간의 대역폭 및 네트워크 대기 시간 등이 포함된다.
본 발명의 일 실시예의 주요 내용은 다음과 같다.
- 모바일 에지 컴퓨팅 환경에서 임의로 분할 가능한 응용 프로그램을 오프로딩, 즉 분할하여 할당하기 위한 이론적 모델을 제안한다.
- 본 발명에서는 세그먼트들의 크기와 전체 응용 프로그램의 최소 총 소요시간(makespan)에 대한 폐쇄형 표현을 유도하였다.
- 폐쇄형 표현에 기반하여, 모바일 에지 컴퓨팅 환경에서 임의로 분할 가능한 응용 프로그램을 분할하고 배포하기 위한 휴리스틱(heuristic)이 제안된다.
- 실제 환경에서 이러한 결정 매개 변수를 추정하기 위한 하나의 방법이 제안된다.
기존의 연구와 비교하여 본 발명의 일 실시예에서는 모바일 에지 컴퓨팅 환경에서 임의로 분할 가능한 응용 프로그램을 분할하는 이론적 모델을 제안했다. 이 모델에서는 응용 프로그램 및 해당 세그먼트의 통신 및 계산 비용을 모두 고려하여 세그먼트 크기 및 전체 응용 프로그램의 최소 총 소요시간에 대한 폐쇄형 표현을 도출했다. 이 모델에 기반하여, 모바일 에지 컴퓨팅 환경에서 임의로 분할 가능한 응용 프로그램의 세그먼트를 분할하고 할당하기 위한 휴리스틱(heuristic)이 제안되었다.
[28]과 다른 참고 문헌들에서 보고된 단일 레벨 트리 네트워크에서 분할 가능한 응용 프로그램을 스케줄링하는 것과 관련된 기존 연구와는 달리, 본 발명의 일 실시예에서는 OCR과 같이 임의로 분할 가능한 응용 프로그램의 경우 서로 다른 요소가 고려되었다(표 1 참조). 제안된 수학적 모델은 모바일 컴퓨팅 환경에서 임의로 분할 가능한 응용 프로그램의 처리를 설명하는 데 더 적합하다.
Figure 112018126719199-pat00006
본 발명에서는 워크 스테이션의 네트워크에서 역전파 알고리즘을 사용하여 학습한 다층 퍼셉트론 네트워크에 대해 제안된 하이브리드 분할 기법의 사례 연구를 위해 OCR 응용 프로그램이 사용된 [21]과 달리, OCR 응용 프로그램은 모바일 에지 컴퓨팅 환경에서 임의로 분할 가능한 태스크의 오프로드 방법의 사례 연구를 위하여 사용되었다. 또한, 이용 가능한 컴퓨팅 리소스에 대한 태스크 분할 및 할당에 대한 폐쇄형 표현이 도출되었다.
광학 문자 인식은 동적 모바일 컴퓨팅 환경에 적합한 일종의 전형적으로 분할 가능한 응용 프로그램이다. 본 발명의 일 실시예에서는 예시적인 OCR 응용 프로그램을 보여주고 복수의 세그먼트로 분할하여 리소스에 배포하는 프로세스를 보여준다. 그런 다음 분할 가능한 부하 이론에 근거하여 임의로 분할 가능한 응용 프로그램에 대한 오프로딩 결정을 내리는 이론적 모델을 제안했다.
광학 문자 인식: 전형적으로 임의로 분할 가능한 응용 프로그램
광학 문자 인식은 동적 모바일 컴퓨팅 환경에 적합한 일종의 전형적으로 분할 가능한 응용 프로그램이다. 입력, 수기 또는 인쇄된 텍스트의 이미지를 컴퓨터로 인코딩된 텍스트로 변환하여 전자적으로 편집, 검색 및 저장하고 기계 번역 및 증강 현실과 같은 기계 프로세스에 사용할 수 있는 일반적인 방법이다.
도 1은 이용 가능한 리소스의 수가 변경될 때 OCR 이미지를 분할하는 예를 보여준다. 이 예에서 리소스 수가 하나에서 두 개로 그리고 네 개로 바뀜에 따라 태스크는 한 조각, 두 조각, 네 조각으로 분할된다. 각 조각은 하나의 리소스를 위한 것이다. 이 예에서는 리소스의 매개 변수도 동일하다고 가정하므로 이미지가 균등하게 분할된다. 리소스의 매개 변수가 동일하지 않게 변경되면 분할은 적절히 조정될 수 있다. 지금까지 일부 네트워크 컴퓨팅 시스템은 OCR 인스턴스를 사용하여 성능을 평가하는 것으로 보고되었다.
도 1에 도시된 OCR 응용 프로그램을 처리하기 위한 사용 시나리오는 다음과 같다. 예를 들어, 한 그룹의 사람들이 함께 있을 때 그들 중 하나가 외국어로 된 관광 안내 파일을 모국어로 인식하고 번역하기를 원할 때, 스마트 폰을 사용하여 그 파일의 사진을 찍고 그것을 스마트폰에서 처리할 수 있다. 파일 크기가 크면 인식 및 번역 프로세스가 오래 걸리고 사용자 경험의 질이 떨어진다. 주변에 일부 무선 네트워크를 통해 연결되어 있고 협력하여 작동할 수 있는 일부 컴퓨팅 장치가 있다고 가정하자; 그 사진을 여러 부분으로 분할하고 일부를 다른 사용 가능한 장치로 보내 병렬로 처리할 수 있다. 이러한 방식으로 처리 시간이 훨씬 짧아지고 사용자 경험의 질이 훨씬 향상될 것이다.
도 1에 나와있는 OCR 예제에서는 OCR 이미지의 분할이 완전히 임의적이지 않은 것으로 가정한다. 다른 분할 솔루션들이 전체 이미지에 대해 동일한 최종 결과를 생성할 수 있다는 것을 보장하기 위하여, 문자를 가로 질러 이미지를 분할하는 것을 회피할 필요가 있다는 점에서, 그것은 거의 임의적이다.
OCR 유사 응용 프로그램을 오프로딩하기 위한 모델 및 알고리즘
여기에서 고려해야 할 컴퓨팅 환경은 도 2와 같이 하나의 모바일 클라이언트 노드와 사용 가능한 리소스 집합 K(대리 노드 또는 에지 서버라고도 함)로 구성된다. 일반성을 잃지 않고, 도 3에 도시된 바와 같이, 노드는 0(클라이언트 노드)에서 k=|K|까지 인덱싱되는 것으로 가정한다. 클라이언트 노드(300)와 제1 내지 제k 대리 노드들(S1 내지 Sk)은 각각 분할되어 할당된 태스크를 처리하기 위한 프로세서(P_0 내지 P_k)를 포함한다.
클라이언트 노드(300)가 도 1과 같은 이미지를 가져 와서 이를 텍스트로 변환해야 한다고 가정한다. 클라이언트 노드(300)는 이미지 자체를 처리할 수 있다. 그러나 그것은 이미지를 여러 부분으로 분할하고 처리하기 위하여 그들의 부분들을 대리(surrogate) 노드들(S1 내지 Sk)로 분배할 수 있다.
이용 가능한 대리 노드들을 최대한 활용하기 위해 클라이언트 노드(300)와 대리 노드들(S1 내지 Sk) 간에 분할 가능한 OCR 이미지를 분할하고 할당하여 전체 완료 시간을 줄이는 것이 중요한 문제가 된다. 특히, 도 1에서 응용 프로그램은 동일한 크기의 부분들로 분할된다. 그러나 이 분할은 이기종 프로세서 및 링크가 있는 환경에서 성능이 저하된다. 하기에 이기종 환경에서의 이 스케줄링 문제에 대한 수학적 모델을 제공할 것이다. 본 발명의 일 실시예에 의한 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법에서 사용된 표기법과 정의가 표 2에 나와 있다.
Figure 112018126719199-pat00007
도 3 및 도 4를 참조하면, 본 발명의 일 실시예에 의한 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법은, 클라이언트 노드(300)가 이용 가능한 대리 노드들(S1 내지 Sk)의 개수 및 상기 대리 노드들(S1 내지 Sk)과 관련된 매개 변수들을 획득하는 단계(단계 S400), 상기 클라이언트 노드(300)가 상기 매개 변수들에 기반하여 자신에게 할당될 연산량을 계산하고, 상기 자신에게 할당될 연산량에 기반하여 상기 태스크를 소정 크기의 세그먼트로 분할하는 단계(단계 S402), 상기 클라이언트 노드(300)가 상기 매개 변수들에 기반하여 각 대리 노드(S1 내지 Sk)에 할당될 연산량을 계산하고, 상기 각 대리 노드에 할당될 연산량에 기반하여 자신에게 할당된 세그먼트를 뺀 나머지 태스크를 소정의 크기들의 세그먼트들로 분할하는 단계(단계 S404), 및 상기 클라이언트 노드(300)가 상기 분할된 소정 크기들의 세그먼트들을 각각의 대응하는 대리 노드(S1 내지 Sk)에 할당하는 단계(단계 S406)를 포함한다.
상기 대리 노드들(S1 내지 Sk)과 관련된 매개 변수들은, 상기 각각의 대리 노드(S1 내지 Sk)의 연산 능력, 상기 클라이언트 노드(300)와 상기 각각의 대리 노드(S1 내지 Sk) 간의 링크의 대역폭, 상기 클라이언트 노드(300)와 상기 각각의 대리 노드(S1 내지 Sk)의 통신 시간의 관점에서의 시동 비용, 및 상기 클라이언트 노드(300)와 상기 각각의 대리 노드(S1 내지 Sk) 간의 링크의 왕복 네트워크 대기 시간을 포함한다.
도 5를 참조하면, 상기 단계 S400은, 상기 클라이언트 노드(300)가 상기 이용 가능한 대리 노드들(S1 내지 Sk)로 트레이닝 태스크를 전송하는 단계(단계 S500), 상기 각각의 대리 노드(S1 내지 Sk)가 상기 트레이닝 태스크를 처리하여 처리 결과를 상기 클라이언트 노드(300)로 전송하는 단계(단계 S502), 및 상기 클라이언트 노드(300)가 상기 각각의 대리 노드(S1 내지 Sk)로부터 수신된 처리 결과에 기반하여 상기 각각의 대리 노드(S1 내지 Sk)와 관련된 매개 변수들을 획득하는 단계를 포함한다.
상기 단계 S402에서, 상기 클라이언트 노드(300)는,
Figure 112018126719199-pat00008
에 기반하여 자신에게 할당될 연산량(C0)을 계산하고, k는 상기 이용 가능한 대리 노드들의 개수이며,
Figure 112018126719199-pat00009
이고,
Figure 112018126719199-pat00010
이며,
Figure 112018126719199-pat00011
이고, i=1, ..., k이며, 상기 클라이언트 노드(300)는, 상기 태스크의 전체 연산량과 상기 태스크의 크기의 비(α)에 기반하여, 상기 클라이언트 노드(300) 자신에게 할당될 연산량(Co)에 대응하는 상기 태스크의 분할 크기를 계산하며, C는 상기 태스크의 전체 연산량이고, P0는 상기 클라이언트 노드(300)의 연산 능력이며, Pi는 상기 각각의 대리 노드(S1 내지 Sk)의 연산 능력이고, F0는 상기 클라이언트 노드(300)의 통신 시간의 관점에서의 시동 비용이며, Fi는 상기 각각의 대리 노드(S1 내지 Sk)의 통신 시간의 관점에서의 시동 비용이며, Li는 상기 클라이언트 노드(300)와 상기 각각의 대리 노드(S1 내지 Sk) 간의 링크의 왕복 네트워크 대기 시간이고, Bi는 상기 클라이언트 노드(300)와 상기 각각의 대리 노드(S1 내지 Sk) 간의 링크의 대역폭이다.
상기 단계 S404에서 상기 클라이언트 노드(300)는,
Figure 112018126719199-pat00012
에 기반하여 각 대리 노드(S1 내지 Sk)에 할당될 연산량(Ci)을 계산하고, 상기 클라이언트 노드(300)는, 상기 태스크의 전체 연산량과 상기 태스크의 크기의 비(α)에 기반하여, 상기 각각의 대리 노드(S1 내지 Sk)에 할당될 연산량(Ci)에 대응하는 상기 나머지 태스크의 분할 크기들을 계산한다.
상기 클라이언트 노드(300)는, 상기 모든 세그먼트의 처리 결과가 상기 클라이언트 노드(300)에 동시에 반환되도록 상기 태스크를 소정 크기들의 세그먼트들로 분할하여 자신과 상기 각각의 대리 노드(S1 내지 Sk)에 할당한다.
이하, 본 발명의 일 실시예에 의한 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법에 대해 상세히 설명하기로 한다.
x 픽셀을 갖는 일반적인 OCR 이미지의 경우 크기가 x0, x1, ..., xk인 k+1개의 수평(또는 수직) 세그먼트들로 분할된다고 가정한다. 크기가 xi인 세그먼트의 경우 세그먼트가 노드 j에서 처리될 때 처리 시간 yij를 추정하는 데 사용할 수 있는 선형 함수 yij = fj(xi) = ajxi + bj가 존재한다고 가정한다. 이 함수에서, aj와 bj는 xi가 아니라 노드 j에 의존한다. 즉, fj()는 노드 j에 의해 결정된다. 노드의 매개 변수, 세그먼트의 크기 및 노드에 대한 세그먼트의 맵핑이 주어지면, 모든 세그먼트의 처리 시간과 전체 이미지의 최종 완료 시간을 계산할 수 있다.
OCR 세그먼트가 클라이언트 노드(300)에서 처리될 때, 완료 시간은 세그먼트 xi의 크기, 시동 시간 F0 및 노드의 계산 능력 P0에 의해 결정된다. 여기서, 시동 시간은 OCR 세그먼트의 처리를 준비하는 데 필요한 일정한 시간 간격으로 정의된다. 각 노드에 대해, 그 시동 시간은 일정하다. 즉, 노드가 상이한 OCR 이미지를 처리할 때 시동 시간은 변경되지 않을 것이다.
OCR 세그먼트가 제1 대리 노드 내지 제k 대리 노드(S1 내지 Sk)에서 처리될 때 전체 프로세스에는 다음 세 단계를 포함한다.
(1) 클라이언트 노드(300)는 각각의 이용 가능한 대리 노드(S1 내지 Sk)로 OCR 세그먼트를 보낸다.
(2) 각각의 대리 노드(S1 내지 Sk)는 OCR 세그먼트를 수신한 후 세그먼트 처리를 시작한다.
(3) 각각의 대리 노드(S1 내지 Sk)는 처리 결과를 클라이언트 노드(300)에 반환한다.
세그먼트의 전체 완료 시간은 3단계의 처리 시간의 합계이다.
기존의 연구에서 클라이언트 노드는 부하 부분들을 하나씩 다른 노드들에 분배한다고 가정한다. 그러나 본 발명에서는 [18]에서와 같이 클라이언트 노드가 집단적 통신 모델을 지원하는 프론트-엔드(통신 코-프로세서라고도 함)를 갖추고 있다고 가정한다. 프론트-엔드를 사용한 후에 클라이언트 노드는 계산 부하를 처리하고 동시에 다른 노드들과 통신할 수 있다. 이 집단적 통신 모델을 사용함으로써, 클라이언트 노드(300)는 대리 노드들(S1 내지 Sk)로부터 그리고 대리 노드들(S1 내지 Sk)로 데이터를 동시에 분배 및 수신할 수 있다. 예를 들어, 분할 결정이 이루어지자마자, 클라이언트 노드(300)는 브로드캐스트 모델을 사용하여 대응하는 노드들(S1 내지 Sk)에 부하 부분들을 동시에 분배할 수 있다.
k개의 대리 노드가 있다고 가정하자. 대리 노드 Si, i=1→k의 경우, 그것의 계산 능력은 Pi MIPS(초당 수백만 명령)이고, 그것의 시동 시간은 Fi초이며, 클라이언트 노드(300)에 접속하는 대역폭은 Bi MB/s(초당 메가 바이트)이며, 왕복 네트워크 대기 시간은 Li초이고, OCR 세그먼트의 계산량은 Ci MI(수백만 개의 명령어)이다. OCR 이미지를 인식하는 계산량이 일반적으로 이미지의 크기에 선형적으로 비례한다는 사실을 고려하여, Di=α*Ci, 여기서 α는 이미지의 크기 Di 픽셀과 계산량 Ci의 비율로 정의된다. 다른 OCR 응용 프로그램의 경우 이미지 자체 및 전처리, 문자 인식 및 사후 처리 기술에 따라 α가 변경될 수 있다.
분산 컴퓨팅 환경에서 분할 가능한 응용 프로그램을 스케줄링할 때 통신 시간 및 계산 시간 모두의 시작 비용을 고려해야 한다. 여기에서 이러한 오버헤드 요소는 추가 구성 요소로 간주된다. 노드 i의 계산 시간에 시작 비용이 Fi로 정의된다고 가정하자. 노드 0과 노드 i 사이의 링크의 통신 시간에서의 초기 비용은 일정하다고 가정한다. 노드 0과 노드 i 사이의 링크의 네트워크 대기 시간도 일정하다고 간주되므로 Li를 사용하여 왕복 대기 시간과 클라이언트 노드(노드 0)와 노드 i 사이의 링크 시동 시간의 합계를 표현한다. 하기에서, 간단히 하기 위해, Li를 링크의 대기 시간과 링크의 시동 시간의 합으로 부르는 대신, 링크의 대기 시간이라고 하자.
위와 같은 정보가 주어지고, 계산량 Ci의 OCR 세그먼트가 클라이언트 노드(300)에서 대리 노드 Si로 전송되면, 3개의 단계들에서 필요한 시간을 예측할 수 있으므로 전체 처리 시간을 예측할 수 있다.
단계 (1)에서, 필요한 시간은 이미지의 전송 시간과 편도 네트워크 대기 시간을 더한 값, 즉 Di/Bi+Li/2=α*Ci/Bi+Li/2가 될 것이다; 단계 (2)에서, 필요한 시간은 시동 시간에 OCR 세그먼트의 인식 시간을 더한 시간, 즉 Fi+Ci/Pi가 될 것이다. 단계 (3)에서, 필요한 시간은 결과의 전송 시간과 편도 네트워크 대기 시간을 더한 시간이 될 것이다. 일반적으로 OCR 응용 프로그램의 결과는 평문 텍스트로 표시되며 이미지의 크기와 비교할 때 크기가 매우 작다. 따라서 결과를 전송하는 데 사용된 시간을 계산할 때 결과의 크기는 무시되며, 편도 네트워크 대기 시간이 시간을 지배하게 된다. 따라서, 단계 (3)에 필요한 시간은 Li/2로 표현될 수 있다.
마지막으로 OCR 응용 프로그램이 하나의 클라이언트 노드(300)와 k개의 대리 노드(S1 내지 Sk)가 있는 기회주의 환경에서 처리된다고 가정한다. 가능한 한 빨리 응용 프로그램을 처리하기 위해 클라이언트 노드(300)는 응용 프로그램을 분할하고 부하 밸런스 방식으로 사용 가능한 모든 리소스에 할당한다. 모든 결과가 동시에 클라이언트 노드(300)에 반환된다고 가정하면 다음 수학식을 얻을 수 있다.
Figure 112018126719199-pat00013
상기에서
Figure 112018126719199-pat00014
이다.
수학식 1로부터 하기 수학식이 유도될 수 있다.
Figure 112018126719199-pat00015
에 대해,
Figure 112018126719199-pat00016
상기에서
Figure 112018126719199-pat00017
이다.
수학식 1과 수학식 2를 고려하면, 하기 수학식을 얻을 수 있다.
Figure 112018126719199-pat00018
Figure 112018126719199-pat00019
상기에서
Figure 112018126719199-pat00020
이고,
Figure 112018126719199-pat00021
이다.
이제, 수학식 4를
Figure 112018126719199-pat00022
에 대입함으로써, 하기 수학식들을 얻을 수 있다.
Figure 112018126719199-pat00023
Figure 112018126719199-pat00024
마지막으로, 수학식 7을 얻을 수 있다.
Figure 112018126719199-pat00025
여기서 총 소요시간(makespan)은 할당된 작업의 시작과 종료 사이의 시간차로 정의된다.
위의 모델을 기반으로 알고리즘 1은 리소스 그룹간에 분할 가능한 OCR 응용 프로그램을 분할하기 위해 본 발명의 일 실시예에서 제안되었다.
[알고리즘 1]
Figure 112018126719199-pat00026
상기 이론 분석에서, 세그먼트들의 크기는 수학식 4에 의해 계산될 수 있다. 그러나 경우에 따라 이미지가 결과 크기에 따라 정확하게 분할된 경우 세그먼트의 경계가 일부 문자를 교차할 수 있다. 이것은 전체 이미지의 최종 인식 결과에 영향을 미친다. 이러한 경우를 방지하려면 수학식 4의 크기에 따라 이미지를 세그먼트로 분할하고 문자를 교차하지 않아야 한다. 실제로, 이것은 이미지의 라인 간격을 고려하고 세그먼트의 크기를 가능한 한 이론적인 결과에 가깝게 만듦으로써 구현될 수 있다.
실험 및 결과
시뮬레이션 모델과 실제 컴퓨팅 환경에서 수학 모델을 검증하고 본 발명에 의한 알고리즘의 성능을 연구하기 위한 일련의 실험을 제시한다.
시뮬레이션 환경
시뮬레이션에서 컴퓨팅 환경은 모바일 클라이언트 노드(300)와 무선 네트워크를 통해 연결된 주변의 일부 대리 노드(S1 내지 Sk)로 구성된다고 가정한다. 클라이언트 노드(300)에 OCR 작업이 나타나면 클라이언트 노드(300)는 사용 가능한 대리 노드들(S1 내지 Sk)의 수와 매개 변수를 찾은 다음, 태스크를 소정 크기들을 갖는 세그먼드들로 분할하고 사용 가능한 대리 노드들(S1 내지 Sk)에 상기 세그먼트들을 할당하는 방법을 결정하여, 가능한 한 최소로 세그먼트들의 최대 완료 시간을 최소화한다.
시뮬레이션에서, 이용 가능한 대리 노드들의 최대 수는 5이고, 응용 프로그램 및 노드에 대한 매개 변수는 표 3에 나열되어있다. 대리 노드에 대해, 계산 성능(Pi), 클라이언트 노드에 대한 대역폭(Bi) 및 네트워크 대기 시간(Li)은 주어진 범위에서 균일하게 분포된 랜덤 변수이다. 표 3에서, U([x1, x2, ..., xn])는 x1, x2, …, xn 내에서 균일한 분포를 나타낸다. 예를 들어 Bi는 U([2, 4, 6, 8, 10])로 주어지며, k개의 대리 노드들 중 하나에서 클라이언트 노드까지의 대역폭은 2, 4, 6, 8 및 10 MB/s 내에서 랜덤하게 그리고 균일하게 선택된다. 모든 대리 노드에 대한 매개 변수가 서로 다른 대리 노드에 대해 독립적으로 선택되므로 매개 변수도 서로 다르다. 따라서 이러한 변하는 매개 변수들은 동적 컴퓨팅 환경에서 대리 노드들의 특성을 설명하는 데 사용될 수 있다. 응용 프로그램과 리소스의 모든 매개 변수가 알려지면 이전에 설명한 모델과 수학식들을 기반으로 분할과 총 소요시간(makespan)을 계산할 수 있다.
Figure 112018126719199-pat00027
다음 예에서, 대리 노드에 대한 처리 용량, 대역폭 및 네트워크 대기 시간은 각각 [20 20 20 15 5] MIPS, [10 10 8 8] MB/s 및 [0.5 0.5 0.5 0.4 0.1] 초라고 가정한다. 즉 i번째 대리 노드의 경우 처리 용량, 대역폭 및 대기 시간은 벡터의 i번째 요소 값이다. 예를 들어, 첫 번째 대리 노드의 처리 용량, 대역폭 및 대기 시간은 각각 20 MIPS, 10MB/s 및 0.5 초이다.
태스크의 분할과 총 소요시간에 대한 대리 노드들의 수의 영향을 연구하기 위해, 먼저 대리 노드를 수학식 4의 γ값에 따라 점감적으로 분류했다. 그 다음, 이용 가능한 대리 노드의 수가 0에서(즉, 클라이언트 노드 자체 만이 이용 가능함), 하나(즉, 단 하나의 대리 노드가 이용 가능함)로 증가하고, 최종적으로 5개(즉, 모든 대리 노드가 이용 가능함)로 증가한다고 가정한다.
도 6과 도 7은 서로 다른 수의 대리 노드를 사용할 수 있는 경우 분할과 총 소요시간 결과를 보여준다. 도 7에서, 리소스의 수가 1, 즉 클라이언트 노드만 이용 가능하여 전체 응용 프로그램이 실행을 위해 클라이언트 노드에 할당되기 때문에, 클라이언트 노드 상의 계산량은 100MI이다. 두 번째 컬럼에서, 첫 번째 대리 노드가 사용 가능하고 리소스 수가 2로 증가함에 따라 응용 프로그램이 두 부분으로 분할된다: 클라이언트 노드의 27.8 MI와 첫 번째 대리 노드의 72.2 MI이다. 세 번째 컬럼에서, 두 번째 대리 노드가 사용 가능하게 되면, 응용 프로그램은 클라이언트 노드의 17 MI와 각 대리 노드의 41.5 MI로 세 부분으로 분할된다. 여기서는 두 대리 노드가 동일한 매개 변수를 갖기 때문에 그들에 대해 동일한 분할을 초래한다. 다른 수의 사용 가능한 리소스가 있는 분할이 대응하는 컬럼에 표시된다. 마지막으로 사용 가능한 리소스의 수가 6개로 늘어남에 따라 마지막 컬럼에 표시된 것과 같은 분할이 생긴다.
도 7은 사용 가능한 리소스의 수가 변경됨에 따른 총 소요시간의 결과를 보여준다. 알 수 있듯이 사용 가능한 리소스의 수가 증가하면 응용 프로그램의 총 소요 시간이 감소할 것이다. 각 컬럼의 경우, 총 소요시간 결과는 도 6의 해당 분할 결과를 클라이언트 노드의 처리 용량으로 나눈 값과 일치한다. 이는 수학식 7에 기초하여 결론지어질 수 있다.
실제 실험
실제 실험 환경은 앞에서 제안된 모델의 실현 가능성과 성능을 검증하기 위해 구축되었으며 클라이언트 노드로 작동하는 안드로이드 폰과 대리 노드 역할을 하는 두 대의 랩톱이 802.11b 무선 액세스 포인트를 통해 연결되었다. 이러한 장치들의 매개 변수는 표 4에 나열되어 있다.
Figure 112018126719199-pat00028
실제로, 알려진 OCR 이미지의 크기를 제외하고는 실제 OCR 작업을 처리하기 위한 분할 및 할당 모델을 채택하기 위해 태스크의 연산량을 포함하여, 다른 모든 매개 변수가 사용되고, 사용 가능한 리소스의 매개 변수들(연산 능력, 대역폭 및 대기 시간)은 결정적이다. 그러나 실제 환경에서는 정확하게 예측하기가 쉽지 않다. 이 문제를 해결하기 위해 다음과 같이 절충안을 제안한다.
상술한 수학적 모델에서, 일반적인 분할 가능한 OCR 이미지의 경우, 크기가 x1, x2, …, xn인 n개(> 1)의 세그먼트들로 개별적으로 분할되고 모든 세그먼트가 상이한 리소스들에서 처리되도록 할당된 것으로 가정하면, 크기 xi를 갖는 세그먼트에 대한 완료 시간 ti는 선형 함수를 사용하여 다음과 같이 추정될 수 있다.
Figure 112018126719199-pat00029
최적화 목적이 모든 세그먼트의 완료 시간을 동일하게 만드는 것이라는 것을 고려하면 다음 수학식이 구성될 수 있다.
Figure 112018126719199-pat00030
Figure 112018126719199-pat00031
수학식 8을 수학식 9와 10에 도입함으로써, 다음 수학식을 얻을 수 있다.
Figure 112018126719199-pat00032
Figure 112018126719199-pat00033
Figure 112018126719199-pat00034
여기서 x0은 클라이언트 노드에서 처리되는 서브 이미지의 크기이고 xi는 사용 가능한 i번째 리소스에서 처리되는 서브 이미지의 크기이며, t는 작업 완료 시간이다.
위의 방법에서 수학식 8에서 ai의 값을 얻는 방법이 가장 중요한 단계이다. 실제로 일 그룹의 OCR 파일들은 트레이닝 파일로 사용될 수 있고 사용 가능한 모든 리소스에서 처리될 수 있다. 이런 방식으로, ai는 통계적으로 계산될 수 있다. 이 트레이닝 과정 후에, 새로운 OCR 태스크가 도착하면 이를 수학식 11과 수학식 12에 따라 소정 크기들을 갖는 세그먼트들로 분할하고 분할된 세그먼트들 각각을 대응하는 사용 가능한 리소스로 할당하여 수학식 13에 따라 완료 시간을 예측할 수 있다.
실험에서 일련의 트레이닝 작업이 모든 리소스에서 처리되었다. OCR 이미지들의 크기는 100×100에서 500×500 픽셀 사이라고 가정한다. 처음에는 이러한 이미지들이 스마트폰에서 인식되고 완료 시간이 기록되었다. 그런 다음 이들 이미지들이 스마트폰에서 다른 두 랩톱으로 개별적으로 전송되었고, 스마트폰으로 결과들이 반환된 시점들이 완료 시간으로 기록되었다. 최종적으로, t0=0.19x+2850, t1=0.072x+1890 및 t2=0.039x+1630, 여기서, x는 OCR 이미지의 크기를 나타내고, t0, t1 및 t2는 스마트폰, 대리 노드 1 및 대리 노드 2 각각에서 이미지를 인식하는 데 완료된 시간을 나타낸다.
예측 후, 새로운 OCR 태스크가 스마트폰에 도착할 때, 스케줄러는 수학식 11 및 12에 따라 태스크를 어떻게 분할하고 할당할 지를 결정할 것이다. 도 8은 크기가 100×100 내지 500×500 픽셀인 OCR 태스크들의 완료 시간을 보여준다. 태스크들이 스마트폰에서만 실행되면 태스크의 크기가 커짐에 따라 해당 총 소요시간이 빠르게 증가한다(파란 곡선 참조). 그러나 처리를 위해 두 대의 랩톱을 사용하는 경우 수학식 11과 수학식 12에 따라 태스크를 분할하고 수학식 13에 따라 총 소요시간을 예측할 수 있다(파선 녹색 곡선 참조). 마지막으로, 태스크의 실제 총 소요시간이 빨간색 곡선으로 그려져 있다. 도시된 바와 같이, 다른 두 개의 대리 노드가 처리를 위해 사용될 때, OCR 이미지의 완료 시간은 훨씬 더 낮아지게 된다.
또한, 도 8에서 이미지의 크기가 증가함에 따라 일반적으로 실제 총 소요시간의 결과는 빨간색 곡선으로 표시되고 파란색 매개 변수는 선형으로 증가한다. 그러나 이러한 선형성은 모든 경우에 대해 보장될 수 없다. 이 현상은 다음과 같이 설명할 수 있다: OCR 이미지의 경우 처리 요구 사항은 이미지 크기뿐 아니라 필요한 처리량의 복잡성과 관련이 있다. OCR 이미지의 크기가 커지고 필요한 처리량이 줄어들면 완료 시간이 줄어들 수 있다. 따라서 이미지의 크기가 작은 것에서 큰 것으로 커짐에 따라, 완료 시간은 변동을 갖고 선형적으로 증가할 것으로 예상된다.
결론
본 발명에서, 분할 가능한 응용 프로그램의 전형적인 OCR 응용 프로그램은 단일 레벨 스타 토폴로지 무선 네트워크로 연결된 일 그룹의 모바일 장치로 구성된 컴퓨팅 환경에서 처리되는 것으로 간주되었다. 제안된 스케줄링 모델을 사용함으로써, 분할 가능한 응용 프로그램의 부하는 통신 및 계산 비용 모두에 기초하여 분할되고 할당될 수 있으므로, 전체 응용 프로그램의 최종 완료 시간은 가능한 한 짧아질 수 있다. 시뮬레이션과 실제 실험의 결과를 바탕으로, 본 발명의 제안된 모델은 기회주의 컴퓨팅 환경에서 분할 가능한 응용 프로그램을 분할하고 할당하는 데 매우 효과적이며 실용적이라는 것을 알 수 있다. 이 모델은 다른 유사한 컴퓨팅 환경에서 분할 가능한 응용 프로그램을 스케줄링하기 위해 확장될 수 있다.
이상 본 발명을 구체적인 실시예를 통하여 상세하게 설명하였으나, 이는 본 발명을 구체적으로 설명하기 위한 것으로, 본 발명은 이에 한정되지 않으며, 본 발명의 기술적 사상 내에서 당 분야의 통상의 지식을 가진 자에 의해 그 변형이나 개량이 가능함은 명백하다고 할 것이다.
본 발명의 단순한 변형 내지 변경은 모두 본 발명의 영역에 속하는 것으로, 본 발명의 구체적인 보호 범위는 첨부된 청구범위에 의하여 명확해질 것이다.
300 : 클라이언트 노드
s1 내지 sk : 제1 내지 제k 대리 노드
P0 내지 Pk : 프로세서

Claims (5)

  1. 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법에 있어서,
    (A) 클라이언트 노드가 이용 가능한 대리 노드들의 개수 및 상기 대리 노드들과 관련된 매개 변수들을 획득하는 단계;
    (B) 상기 클라이언트 노드가 상기 매개 변수들에 기반하여 자신에게 할당될 연산량을 계산하고, 상기 자신에게 할당될 연산량에 기반하여 상기 태스크를 소정 크기의 세그먼트로 분할하는 단계;
    (C) 상기 클라이언트 노드가 상기 매개 변수들에 기반하여 각 대리 노드에 할당될 연산량을 계산하고, 상기 각 대리 노드에 할당될 연산량에 기반하여 자신에게 할당된 세그먼트를 뺀 나머지 태스크를 소정의 크기들의 세그먼트들로 분할하는 단계; 및
    (D) 상기 클라이언트 노드가 상기 분할된 소정 크기들의 세그먼트들을 각각의 대응하는 대리 노드에 할당하는 단계를 포함하고,
    상기 대리 노드들과 관련된 매개 변수들은,
    상기 각각의 대리 노드의 연산 능력, 상기 클라이언트 노드와 상기 각각의 대리 노드 간의 링크의 대역폭, 상기 클라이언트 노드와 상기 각각의 대리 노드의 통신 시간의 관점에서의 시동 비용, 및 상기 클라이언트 노드와 상기 각각의 대리 노드 간의 링크의 왕복 네트워크 대기 시간을 포함하며,
    상기 단계 (B)에서 상기 클라이언트 노드는,
    [수학식 6]
    Figure 112020027548811-pat00048
    에 기반하여 자신에게 할당될 연산량(C0)을 계산하고,
    k는 상기 이용 가능한 대리 노드들의 개수이며,
    Figure 112020027548811-pat00049
    이고,
    Figure 112020027548811-pat00050
    이며,
    Figure 112020027548811-pat00051
    이고,
    i=1, ..., k이며,
    상기 클라이언트 노드는, 상기 태스크의 전체 연산량과 상기 태스크의 크기의 비(α)에 기반하여, 상기 클라이언트 노드 자신에게 할당될 연산량(Co)에 대응하는 상기 태스크의 분할 크기를 계산하며,
    C는 상기 태스크의 전체 연산량이고, P0는 상기 클라이언트 노드의 연산 능력이며, Pi는 상기 각각의 대리 노드의 연산 능력이고, F0는 상기 클라이언트 노드의 통신 시간의 관점에서의 시동 비용이며, Fi는 상기 각각의 대리 노드의 통신 시간의 관점에서의 시동 비용이며, Li는 상기 클라이언트 노드와 상기 각각의 대리 노드 간의 링크의 왕복 네트워크 대기 시간이고, Bi는 상기 클라이언트 노드와 상기 각각의 대리 노드 간의 링크의 대역폭이며,
    상기 단계 (C)에서 상기 클라이언트 노드는,
    [수학식 4]
    Figure 112020027548811-pat00052
    에 기반하여 각 대리 노드에 할당될 연산량(Ci)을 계산하고,
    상기 클라이언트 노드는, 상기 태스크의 전체 연산량과 상기 태스크의 크기의 비(α)에 기반하여, 상기 각각의 대리 노드에 할당될 연산량(Ci)에 대응하는 상기 나머지 태스크의 분할 크기들을 계산하는, 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 단계 (A)는,
    (A-1) 상기 클라이언트 노드가 상기 이용 가능한 대리 노드들로 트레이닝 태스크를 전송하는 단계;
    (A-2) 상기 각각의 대리 노드가 상기 트레이닝 태스크를 처리하여 처리 결과를 상기 클라이언트 노드로 전송하는 단계; 및
    (A-3) 상기 클라이언트 노드가 상기 각각의 대리 노드로부터 수신된 처리 결과에 기반하여 상기 각각의 대리 노드와 관련된 매개 변수들을 획득하는 단계를 포함하는, 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법.
  4. 삭제
  5. 청구항 1에 있어서,
    상기 클라이언트 노드는, 상기 모든 세그먼트의 처리 결과가 상기 클라이언트 노드에 동시에 반환되도록 상기 태스크를 소정 크기들의 세그먼트들로 분할하여 자신과 상기 각각의 대리 노드에 할당하는, 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법.
KR1020180163410A 2018-12-17 2018-12-17 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법 KR102113662B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180163410A KR102113662B1 (ko) 2018-12-17 2018-12-17 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180163410A KR102113662B1 (ko) 2018-12-17 2018-12-17 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법

Publications (1)

Publication Number Publication Date
KR102113662B1 true KR102113662B1 (ko) 2020-05-22

Family

ID=70913745

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180163410A KR102113662B1 (ko) 2018-12-17 2018-12-17 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법

Country Status (1)

Country Link
KR (1) KR102113662B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2592609A (en) * 2020-03-03 2021-09-08 Imagination Tech Ltd Resource allocation in a parallel processing system
CN113573361A (zh) * 2021-06-22 2021-10-29 西安电子科技大学 面向毫米波mec的低时延-高速率的卸载传输方法
CN113597013A (zh) * 2021-08-05 2021-11-02 哈尔滨工业大学 一种移动边缘计算中用户移动场景下的协同任务调度方法
KR20220022807A (ko) * 2020-08-19 2022-02-28 서울대학교산학협력단 모바일 엣지 컴퓨팅 환경에서의 태스크 분할 오프로딩 방법 및 장치
KR20230007941A (ko) 2021-07-06 2023-01-13 금오공과대학교 산학협력단 에지 컴퓨팅 기반 산업용 사물 인터넷 환경에서 강화학습을 활용한 태스크 오프로딩 방법
KR20240053405A (ko) 2022-10-17 2024-04-24 고려대학교 산학협력단 서버리스 엣지 컴퓨팅 환경에서의 동적 분할 컴퓨팅 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073577A (ja) * 2000-08-30 2002-03-12 Nec Kofu Ltd 分散メモリ型並列計算機における分散処理方法及びコンピュータ可読記録媒体
JP2006243930A (ja) * 2005-03-01 2006-09-14 Nippon Telegr & Teleph Corp <Ntt> タスク割当方法、タスク割当装置、パス設定装置及びネットワーク情報収集装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073577A (ja) * 2000-08-30 2002-03-12 Nec Kofu Ltd 分散メモリ型並列計算機における分散処理方法及びコンピュータ可読記録媒体
JP2006243930A (ja) * 2005-03-01 2006-09-14 Nippon Telegr & Teleph Corp <Ntt> タスク割当方法、タスク割当装置、パス設定装置及びネットワーク情報収集装置

Non-Patent Citations (36)

* Cited by examiner, † Cited by third party
Title
[1]. Balan, R.; Flinn, J.; Satyanarayanan,M.; Sinnamohideen, S.; Yang, H.I. The case for cyber foraging. In Proceedings of the 10th Workshop on ACMSIGOPS European Workshop, Saint-Emilion, France, 1 July 2002; ACM:NewYork, NY, USA, 2002; pp. 87-92.
[10] Giatsoglou, N.; Ntontin, K.; Kartsakli, E.; Antonopoulos, A.; Verikoukis, C. D2D-Aware Device Caching in mmWave-Cellular Networks. IEEE J. Sel. Areas Commun. 2017, 35, 2025-2037, doi:10.1109/JSAC.2017.2720818.
[11] Datsika, E.; Antonopoulos, A.; Zorba, N.; Verikoukis, C. Software Defined Network Service Chaining for OTT Service Providers in 5G Networks. IEEE Commun. Mag. 2017, 55, 124-131, doi:10.1109/MCOM.2017.1700108.
[12] Antonopoulos, A.; Kartsakli, E.; Perillo, C.; Verikoukis, C. Shedding Light on the Internet: Stakeholders and Network Neutrality. IEEE Commun. Mag. 2017, 55, 216-223, doi:10.1109/MCOM.2017.1600417.
[13] Liu, J.; Ahmed, E.; Shiraz, M.; Gani, A.; Buyya, R.; Qureshi, A. Application partitioning algorithms in mobile cloud computing: Taxonomy, review and future directions. J. Netw. Comput. Appl. 2015, 48, 99-117.
[14] Liu, L.; Chang, Z.; Guo, X.; Mao, S.; Ristaniemi, T. Multiobjective Optimization for Computation Offloading in Fog Computing. IEEE Internet Things J. 2018, 5, 283-294, doi:10.1109/JIOT.2017.2780236.
[15] Wu, H. Multi-Objective Decision-Making for Mobile Cloud Offloading: A Survey. IEEE Access 2018, 6, 3962-3976, doi:10.1109/ACCESS.2018.2791504.
[16] Huang, C.M.; Chiang, M.S.; Dao, D.T.; Su, W.L.; Xu, S.; Zhou, H. V2V Data Offloading for Cellular Network Based on the Software Defined Network (SDN) Inside Mobile Edge Computing (MEC) Architecture. IEEE Access 2018, 6, 17741-17755, doi:10.1109/ACCESS.2018.2820679.
[17] Camp, T.; Boleng, J.; Davies, V. A survey of mobility models for ad hoc network research. Wirel. Commun. Mob. Comput. 2002, 2, 483-502.
[18] Suresh, S.; Kim, H.; Run, C.; Robertazzi, T.G. Scheduling nonlinear divisible loads in a single level tree network. J. Supercomput. 2012, 61, 1068-1088.
[19] Wang, K.; Robertazzi, T.G. Scheduling divisible loads with nonlinear communication time. IEEE Trans. Aerosp. Electron. Syst. 2015, 51, 2479-2485.
[2] Li, B.; Pei, Y.; Wu, H.; Shen, B. Heuristics to allocate high-performance cloudlets for computation offloading in mobile ad hoc clouds. J. Supercomput. 2015, 79, 3009-3036.
[20] Bharadwaj, V.; Ghose, D.; Robertazzi, T. Divisible load theory: A new paradigm for load scheduling in distributed systems. Clust. Comput. 2003, 6, 7-17.
[21] Suresh, S.; Omkar, S.N.; Mani, V. Parallel implementation of back-propagation algorithm in networks of workstations. IEEE Trans. Parallel Distrib. Syst. 2005, 16, 24-34, doi:10.1109/TPDS.2005.11.
[22] Othman, S.G.M. Comprehensive Review on Divisible Load Theory: Concepts, Strategies, and Approaches. Math. Probl. Eng. 2014, 2014, 460354.
[23] Beaumont, O.; Casanova, H.; Legrand, A.; Robert, Y.; Yang, Y. Scheduling divisible loads on star and tree networks: Results and open problems. IEEE Trans. Parallel Distrib. Syst. 2005, 16, 207-218.
[24] Li, X.; Liu, X.; Kang, H. Sensing workload scheduling in sensor networks using divisible load theory. In Proceedings of the IEEE GLOBECOM 2007, Washington, DC, USA, 26-30 November 2007; pp. 785-789.
[25] Redondi, A.; Cesana, M.; Tagliasacchi, M.; Filippini, I.; Dan, G.; Fodor, V. Cooperative image analysis in visual sensor networks. Ad Hoc Netw. 2015, 28, 38-51.
[26] Zhu, T.; Wu, Y.; Yang, G. Scheduling divisible loads in the dynamic heterogeneous grid environment. In Proceedings of the 1st International Conference on Scalable Information Systems, Hong Kong, China, 1 June 2006; Volume 152, p. 8.
[27] Hu,M.; Luo, J.; Veeravalli, B. Optimal provisioning for scheduling divisible loads with reserved cloud resources. In Proceedings of the 2012 18th IEEE International Conference on Networks, Singapore, 12-14 December 2012; pp. 204-209.
[28] Lin,W.; Liang, C.;Wang, J.Z.; Buyya, R. Bandwidth-aware divisible task scheduling for cloud computing. Softw. Pract. Exp. 2014, 44, 163-174.
[29] Khan, L.I.L. Implementation and performance evaluation of a scheduling algorithm for divisible load parallel applications in a cloud computing environment. Softw. Pract. Exp. 2015, 45, 765-781.
[3] Abolfazli, S.; Sanaei, Z.; Ahmed, E.; Gani, A.; Buyya, R. Cloud-based augmentation for mobile devices: Motivation, taxonomies, and open challenges. IEEE Commun. Surv. Tutor. 2014, 16, 337-368.
[30] Abdullah, M.; Othman, M. Cost-based multi-QoS job scheduling using divisible load theory in cloud computing. Procedia Comput. Sci. 2013, 18, 928-935.
[31] Veeravalli, B.; Viswanadham, N. Suboptimal solutions using integer approximation techniques for scheduling divisible loads on distributed bus networks. IEEE Trans. Syst. Man Cybern. Part A Syst. Humans 2000, 30, 680-691.
[32] Li, X.; Bharadwaj, V.; Ko, C. Divisible load scheduling on single-level tree networks with buffer constraints. IEEE Trans. Aerosp. Electron. Syst. 2000, 36, 1298-1308.
[33] Veeravalli, B.; Li, X.; Ko, C.C. On the influence of start-up costs in scheduling divisible loads on bus networks. IEEE Trans. Parallel Distrib. Syst. 2000, 11, 1288-1305.
[34] Li, X.; Veeravalli, B. PPDD: Scheduling multi-site divisible loads in single-level tree networks. Clust. Comput. 2010, 13, 31-46.
[35] Abdullah, M.; Othman, M. Scheduling Divisible Jobs to Optimize the Computation and Energy Costs. Int. J. Eng. Sci. Invent. 2015, 4, 27-33.
[36] Yang, K.; Ou, S.; Chen, H.H. On effective offloading services for resource-constrained mobile devices running heavier mobile Internet applications. IEEE Commun. Mag. 2008, 46, 56-63.
[4] Lee, B.D.; Lim, K.H.; Choi, Y.H.; Kim, N. An adaptive computation offloading decision for energy-efficient execution of mobile applications in clouds. IEICE Trans. Inf. Syst. 2014, 97, 1804-1811.
[5] Mao, Y.; You, C.; Zhang, J.; Huang, K.; Letaief, K. A Survey on Mobile Edge Computing: The Communication Perspective. IEEE Commun. Surv. Tutor. 2017, 19, 2322-2358, doi:10.1109/COMST.2017.2745201.
[6] Chen, M.; Hao, Y. Task Offloading for Mobile Edge Computing in Software Defined Ultra-dense Network. IEEE J. Sel. Areas Commun. 2018, doi:10.1109/JSAC.2018.2815360.
[7] Lewis, G.A.; Echeverria, S.; Simanta, S.; Bradshaw, B.; Root, J. Cloudlet-based cyber-foraging for mobile systems in resource-constrained edge environments. In Proceedings of the ICSE Companion 2014 Companion Proceedings of the 36th International Conference on Software Engineering, Hyderabad, India, 31 May-7 June 2014; pp. 412-415.
[8] Bonomi, F.; Milito, R.; Zhu, J.; Addepalli, S. Fog Computing and Its Role in the Internet of Things. In Proceedings of the First Edition of the MCC Workshop on Mobile Cloud Computing (MCC '12), Helsinki, Finland, 17 August 2012; ACM: New York, NY, USA, 2012; pp. 13-16, doi:10.1145/2342509.2342513.
[9] Neto, J.; Yu, S.; Macedo, D.; Nogueira, J.; Langar, R.; Secci, S. ULOOF: A User Level Online Offloading Framework for Mobile Edge Computing. IEEE Trans. Mob. Comput. 2018, doi:10.1109/TMC.2018.2815015.

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2592609A (en) * 2020-03-03 2021-09-08 Imagination Tech Ltd Resource allocation in a parallel processing system
GB2592609B (en) * 2020-03-03 2023-05-31 Imagination Tech Ltd Resource allocation in a parallel processing system
KR20220022807A (ko) * 2020-08-19 2022-02-28 서울대학교산학협력단 모바일 엣지 컴퓨팅 환경에서의 태스크 분할 오프로딩 방법 및 장치
KR102387246B1 (ko) 2020-08-19 2022-04-15 서울대학교산학협력단 모바일 엣지 컴퓨팅 환경에서의 태스크 분할 오프로딩 방법 및 장치
CN113573361A (zh) * 2021-06-22 2021-10-29 西安电子科技大学 面向毫米波mec的低时延-高速率的卸载传输方法
CN113573361B (zh) * 2021-06-22 2024-04-16 西安电子科技大学 面向毫米波mec的低时延-高速率的卸载传输方法
KR20230007941A (ko) 2021-07-06 2023-01-13 금오공과대학교 산학협력단 에지 컴퓨팅 기반 산업용 사물 인터넷 환경에서 강화학습을 활용한 태스크 오프로딩 방법
CN113597013A (zh) * 2021-08-05 2021-11-02 哈尔滨工业大学 一种移动边缘计算中用户移动场景下的协同任务调度方法
CN113597013B (zh) * 2021-08-05 2024-03-22 哈尔滨工业大学 一种移动边缘计算中用户移动场景下的协同任务调度方法
KR20240053405A (ko) 2022-10-17 2024-04-24 고려대학교 산학협력단 서버리스 엣지 컴퓨팅 환경에서의 동적 분할 컴퓨팅 방법

Similar Documents

Publication Publication Date Title
KR102113662B1 (ko) 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법
Alameddine et al. Dynamic task offloading and scheduling for low-latency IoT services in multi-access edge computing
Bahreini et al. Efficient placement of multi-component applications in edge computing systems
US11593644B2 (en) Method and apparatus for determining memory requirement in a network
Li Resource optimization scheduling and allocation for hierarchical distributed cloud service system in smart city
Wang et al. Joint server assignment and resource management for edge-based MAR system
Wei et al. Efficient application scheduling in mobile cloud computing based on MAX–MIN ant system
Li et al. Latency-aware task assignment and scheduling in collaborative cloud robotic systems
CN111158893B (zh) 应用于雾计算网络的任务卸载方法、系统、设备及介质
Singh et al. To offload or not? an analysis of big data offloading strategies from edge to cloud
Kim et al. Partition placement and resource allocation for multiple DNN-based applications in heterogeneous IoT environments
Kanemitsu et al. Multiple workflow scheduling with offloading tasks to edge cloud
Lyu et al. A heterogeneous cloud-edge collaborative computing architecture with affinity-based workflow scheduling and resource allocation for internet-of-things applications
Hussain et al. Resource allocation of industry 4.0 micro-service applications across serverless fog federation
Wang et al. Edge computing for artificial intelligence
Tran-Dang et al. Cooperation for distributed task offloading in fog computing networks
Karim et al. Efficient Real-Time Mobile Computation in the Cloud Using Containers ontainers
Filippini et al. SPACE4AI-R: a runtime management tool for AI applications component placement and resource scaling in computing continua
Moussa et al. Service management in the edge cloud for stream processing of IoT data
Kim et al. Kubernetes-based DL offloading framework for optimizing gpu utilization in edge computing
Xue et al. An offloading algorithm of dense-tasks for mobile edge computing
Sato et al. Program file placement problem for machine-to-machine service network platform
Alghamdi et al. Fog Network Area Management Model for Managing Fog-cloud Resources in IoT Environment
Hadeed et al. Load Balancing Mechanism for Edge-CloudBased Priorities Containers
Sun et al. Optimal offloading for streaming applications in mobile edge computing

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant