scieee Open visual document viewer

Task Scheduling Optimization on Enterprise Application Integration Platforms Based on the Meta-heuristic Particle Swarm Optimization

Sellaro, Daniela F.; Frantz, Rafael Z.; Hernández Salmerón, Inmaculada Concepción; Roos Frantz, Fabricia; Sawicki, Sandro

Abstract

Companies seek technological alternatives that provide competiti veness for their business processes. Among these alternatives, there are integration platforms that allow you to connect applications to your software ecosystems. These ecosystems are often composed of local applications and cloud computing services, such as SaaS and PaaS, and still, interact with social media. Integration platforms are specialized software that allows you to design, execute and monitor integration solutions, which connect functionality and data from different applications. Integration platforms typically provide a specific domain language, development toolkit, runtime engine, and monitoring tool. The efficiency of the engine in sche duling and performing integration tasks has a direct impact on the performance of a solution and this is one of the challenges faced by integration platforms. Our literature review has identified that integration engines adopt task scheduling algorithms based on the textit First-In-First-Out discipline, which may be inefficient. Therefore, it is appropriate to seek a task scheduling algorithm that optimizes engine performance, providing a positive impact on the performance of the integration solution in different scenarios. This article proposes an algorithm for task scheduling based on the meta-heuristic optimization technique, which assigns the tasks to the computational resources, considering the waiting time in the queue of ready tasks and the computational complexity of Each task in order to optimize the performance of the integration solution.

Full text

Task Scheduling Op imiza ion on En e p ise Applica ion In eg a ion Pla o ms Based on he Me a-heu is ic Pa icle Swa m Op imiza ion Daniela F. Sella o Unijuí Uni e si y Ijuí, RS [email p o ec ed] Ra ael Z. F an z Unijuí Uni e si y Ijuí, RS [email p o ec ed] Inma He nández Uni e si y o Se ille Espanha [email p o ec ed] Fab icia Roos-F an z Unijuí Uni e si y Ijuí, RS [email p o ec ed] Sand o Sawicki Unijuí Uni e si y Ijuí, RS [email p o ec ed] ABSTRACT Companies seek echnological al e na i es ha p o ide compe i i- eness o hei business p ocesses. Among hese al e na i es, he e a e in eg a ion pla o ms ha allow you o connec applica ions o you so wa e ecosys ems. These ecosys ems a e o en composed o local applica ions and cloud compu ing se ices, such as SaaS and PaaS, and s ill, in e ac wi h social media. In eg a ion pla o ms a e specialized so wa e ha allows you o design, execu e and moni o in eg a ion solu ions, which connec unc ionali y and da a om di e en applica ions. In eg a ion pla o ms ypically p o ide a speci ic domain language, de elopmen oolki , un ime engine, and moni o ing ool. The e iciency o he engine in sche- duling and pe o ming in eg a ion asks has a di ec impac on he pe o mance o a solu ion and his is one o he challenges aced by in eg a ion pla o ms. Ou li e a u e e iew has iden i ied ha in eg a ion engines adop ask scheduling algo i hms based on he ex i Fi s -In-Fi s -Ou discipline, which may be ine icien . The e o e, i is app op ia e o seek a ask scheduling algo i hm ha op imizes engine pe o mance, p o iding a posi i e impac on he pe o mance o he in eg a ion solu ion in di e en scena ios. This a icle p oposes an algo i hm o ask scheduling based on he me a-heu is ic op imiza ion echnique, which assigns he asks o he compu a ional esou ces, conside ing he wai ing ime in he queue o eady asks and he compu a ional complexi y o Each ask in o de o op imize he pe o mance o he in eg a ion solu ion. CCS CONCEPTS •So wa e and i s enginee ing → So wa e pe o mance ; Cloud compu ing; Real- ime schedulabili y;␣ KEYWORDS In eg a ing En e p ise Applica ions, Op imiza ion, Cloud compu- ing, Run ime Sys em, Task Scheduling Algo i hm. 1 INTRODUÇÃO As emp esas possuem um ecossis ema de so wa e compos o po di e sas aplicações que ge almen e são desen ol idas in e namen e ou adqui idas de e cei os. O a anço das ecnologias de desen ol- imen o de aplicações e a inco po ação de se iços de so wa e disponí eis na in e ne êm deixado os ecossis emas de so wa e ainda mais he e ogêneos. Os p ocessos de negócio de uma emp esa p ecisam se supo ados po um conjun o de aplicações e se iços de so wa e que in eg am seu ecossis ema, po ém, equen emen e, ais aplicações e se iços não es ão p epa ados pa a abalha de o ma conjun a. A In eg ação de Aplicações Emp esa iais (EAI) é o campo de es udo que o e ece me odologias, écnicas e e amen as pa a que os p ocessos de negócio uncionem de o ma sinc onizada, p omo endo epos as ápidas e con iá eis. As pla a o mas de in eg ação são so wa es especializados que pe mi em p oje a , execu a e moni o a soluções de in eg ação, as quais conec am uncionalidades e dados de di e en es aplicações. Uma solução de in eg ação implemen a um luxo de in eg ação compos o po dis in as a e as a ômicas que são execu adas ao longo desse luxo. G ego Hophe e Bobby Wool [ 16 ] documen a- am um conjun o de pad ões de in eg ação que em inspi ado o desen ol imen o de pla a o mas de in eg ação de código abe o e que po sua ez o ganizam o luxo de in eg ação seguindo uma a qui e u a Pipes&Fil e s [ 3 ]. Usualmen e, essas pla a o mas o ne- cem uma linguagem de domínio especí ico, um ki de e amen as de desen ol imen o, um mo o de execução e uma e amen a de moni o amen o. A linguagem de domínio especí ico possibili a a desc ição de modelos concei uais pa a soluções de in eg ação. O ki de desen ol imen o é um conjun o de e amen as de so wa e que pe mi e a implemen ação de soluções, ou seja, ans o ma uma solução concei ual em código execu á el. O mo o p opo ciona odo o supo e necessá io à execução das soluções de in eg ação. A e a- men a de moni o amen o é u ilizada pa a de ec a e os que possam oco e du an e a execução de soluções de in eg ação. O mo o é o esponsá el pela execução das soluções de in eg ação [14]. As a e as da solução de in eg ação são execu adas po meio de ecu sos compu acionais p esen es no mo o de execução, den e os quais es ão as h eads de execução. Nes e con ex o, as h eads são usadas pa a p opo ciona que as a e as sejam execu adas de o ma simul ânea, po meio da p og amação mul i h eads [ 8 , 27 ]. Nesse ipo de p og amação, a c iação de h eads pode impac a o desempenho da execução de uma solução de in eg ação. Um algo i mo de agendamen o de a e as inadequado aumen a o empo de execução, impac ando o desempenho da solução de in e- g ação. A abo dagem mais comum é a con a ação de mais ecu sos compu acionais, po ém essa al e na i a é inancei amen e one osa e nem semp e iá el. Nossa e isão da li e a u a iden i icou que os mo o es de in eg ação ado am como polí ica de agendamen o de a e as as polí icas de p io idade e a Fi s -In-Fi s -Ou (FIFO). Há p opos as de algo i mos de agendamen o de a e as pa a máquina i uais em sis emas dis ibuídos [ 2 , 23 ], po ém não o am iden- i icadas p opos as que oquem na o imização de desempenho de mo o es de execução de pla a o mas de in eg ação de sis emas. O agendamen o de luxo de abalho em sido amplamen e es u- dado ao longo dos anos, nos quais os algo i mos se concen am na ge ação de soluções ap oximadas ou quase ó imas, po se a a de um p oblema não polinomial di ícil [ 26 ]. Pandey e al. [ 22 ] p opõem um algo i mo baseado em PSO pa a minimiza o cus o de execução de um único luxo de abalho enquan o equilib a a ca ga da a e a nos ecu sos disponí eis. Wu e al. [ 29 ] usam PSO pa a p oduzi um agendamen o quase ideal, se p eocupando em minimiza cus o e empo, mas assume que um conjun o limi ado de ecu sos, sem le a em con a a elas icidade p opo cionada com a compu ação em das nu ens. O algo i mo de Byun e al. [ 6 ] es ima o núme o ó imo de ecu sos que p ecisam se alocados pa a que o cus o de execução de um luxo de abalho seja minimizado. Sua abo dagem ap o ei a a elas icidade dos ecu sos da nu em, mas não conside a a na u eza he e ogênea dos ecu sos compu acionais. A con ibuição des e abalho é a aplicação da me a-heu ís ica Pa icle Swa m Op imiza ion (PSO) pa a o con ex o dos mo o es de execução, nos quais as polí icas de agendamen o ado adas, não conside am o empo de espe a na ila de a e as p on as, nem a com- plexidade compu acional das a e as. PSO é ácil de implemen a e exis i em poucos pa âme os pa a se em ajus ado, adequando-se ao p oblema de encon a melho agendamen o das a e as. Classi ica- se como uma pesquisa explo a ó ia, a medida que busca um mé odo mais e icien e do que os exis en es, na esolução do p oblema. Um esumo com ideias iniciais pa a esse abalho oi ap esen ado em um seminá io de pesquisa [ 25 ], e o p esen e a igo as discu e de o ma mais ampla e comple a a p opos a de um algo i mo que busca o mapeamen o ó imo das a e as pa a os pools de h eads. O es o des e a igo es á o ganizado como segue. A Seção 2 ap e- sen a a o mulação do p oblema. A Seção 3 desc e e sucin amen e a écnica PSO. A Seção 4 expõe a abo dagem p opos a. E a Seção 5 ap esen a nossas conclusões e pe spec i as de abalhos u u os. 2 FORMULAÇÃO DO PROBLEMA Numa solução de in eg ação, baseada no es ilo a qui e u al Pi- pes&Fil e s [ 3 ], os pipes são ep esen ados po canais de mensagens e os il e s po a e as a ômicas que implemen am um pad ão de in e- g ação conc e o e p ocessam dados encapsulados em mensagens. A Figu a 1 mos a o modelo concei ual de uma solução de in eg ação pa a o p oblema Ca é, in oduzido po G ego Hohpe [ 17 ] mode- lado com Gua aná [ 14 ]. O modelo concei ual pode se ep esen ado Figu a 1: Solução de in eg ação Ca é como luxos de abalho modelados como G a os Di ecionados Ací- clicos, de inidos po W(T,E), onde T={ 1, 2, .. n} é o conjun o de a e as e E é o conjun o de a es as di ecionadas. Uma a es a eij da o ma ( i, j) exis e, se hou e uma dependência de dados en e i e j , onde i é a e a pai de j e j é a e a ilha de i . Logo, uma a e a ilha não pode se execu ada a é que odas as suas a e as pai es ejam concluídas. Conside a-se que o mo o de execução o e ece uma a iedade de ecu sos compu acionais pa a execução das a e- as da solução de in eg ação. Essa a iedade de ecu sos é de inida po pool de h eads, com di e en es núme os de h eads, onde uma h ead é a unidade básica de p ocessamen o. Assim, assume-se que um mo o de execução pode e mais de um pool de h eads e que o núme o de h eads em cada um pode se di e en e, ou seja, um pool com uma quan idade x h eads e ou o com uma quan idade y. Conside a-se ainda, que um mo o de execução em uma quan- idade limi ada de ecu sos compu acionais δ , sendo um ecu so compu acional Pool , um pool de h eads que em um ipo Pooli , uma capacidade de p ocessamen o PPoolj . O ipo di e encia os pools, a capacidade de p ocessamen o é a quan idade de h eads do pool. A capacidade de memó ia não é a ada; assume-se que é su icien e pa a execu a as a e as do luxo de abalho. Assume-se que pa a cada ipo de ecu so, a capacidade de p ocessamen o é de inida em e mos de ins uções po ciclo (IPC), que pode se es imada [ 1 ]. Es a in o mação é usada no algo i mo, pa a calcula o empo de execução de uma a e a em um de e minado pool de h eads Pool . A a iação do desempenho pode se modelada pelo ajus e da capacidade do Pool e in oduzindo uma deg adação de desempenho deдPoolj [ 23 ]. O empo de execução TEPoolj i da a e a i em um Pool de ipo Poolj é es imado pelo amanho Tam i da a e a em ins uções po ciclo (IPC), calculado pela Equação 1. TEPoolj i =Tam i/(PPoolj∗ (1−degPoolj)) (1) O empo médio de espe a na ila de a e as TFieij é de inido como o empo pa a ans e i dados en e uma a e a pai i e sua a e a ilha je assume-se que ele pode se moni o ado e medido. Finalmen e, o empo o al de p ocessamen o TPPoolj i de uma a e a em um Pool é calculado na Equação 2, onde k é o núme o de a es as, i é uma a e a pai e sk ep esen a o empo gas o pelo mo o na oca de pool de h eads, de manei a que sk = 0, quando ie jsão p ocessadas no mesmo pool esk= 1, caso con á io. TPPoolj i =TEPoolj i +( k Õ 1 TFij +sk)(2) O obje i o é encon a um agendamen o de a e as que possibili e execu a as a e as da solução de in eg ação em pools de h eads do mo o de execução, minimizando o empo o al de execução e sem aumen a a quan idade de ecu sos compu acionais. O agendamen o de a e as é de inido po A=(R,M,TR,TTE) , sendo R um conjun o de ecu sos; M o mapeamen o de a e as em ecu sos, TR , TR = |R|=n , o o al de ecu sos, TTE o empo o al de execução. Um exemplo é mos ado na Figu a 2, ep esen ando o agendamen o pa a o luxo de abalho, em que cada uma das qua o a e as é mapeada pa a se execu ada po um dos ês ecu sos disponí eis, e onde as a e as pais são execu adas an es das sua a e as ilhas, man endo assim a dependência dos dados. R={ 1, 2, ..., n} é o conjun o de Figu a 2: Agendamen o pa a o wo k low do Ca é. ecu sos (pools de h eads) do mo o de execução, onde cada ecu so i em associado a ele um Pool do ipo Pooli , um empo de início es imado pa a alocação do ecu so es imado TIni i . e um empo de inalização es imado TFim i . M ep esen a um mapeamen o pa a cada uma das a e as do luxo de abalho e é cons i uído po uplas m j i =( i, j,T Ini i,T Fin i) , signi icando que a a e a i se á execu ada pelo ecu so j , com o início da execução agendado pa a TIni i e p e isão de é mino em TFin i . A Equação 3 mos a como o empo o al de execução TTE é calculado: TTE =max{T Fim i: i∈T}(3) Assim, o p oblema pode se o mulado como: encon a um agen- damen o A com o meno empo o al de execução TTE da solução de in eg ação, sem excede um alo p é-de inido pa a o o al de ecu sos TR. Essa o mulação é ep esen ada pela Equação 4: MinimizeTTE (4) sujei o a TR ≤δ 3 PARTICLE SWARM OPTIMIZATION Pa icle Swa m Op imiza ion (PSO) oi in oduzido po Kennedy e Ebe ha em 1995 [ 10 ], e oi inspi ado no compo amen o social de o ganismos biológicos, mais especi icamen e na habilidade de algu- mas espécies de animais de abalha em conjun o pa a localiza boas egiões com on es de alimen o, assim como oco e em ca du- mes e em bandos de pássa os [ 5 ]. Em ou as pala as, é baseado em um enxame de pa ículas (Pa icle Swa m) que se mo em pelo espaço e se comunicam pa a de e mina uma di eção de busca ideal. O PSO em melho desempenho compu acional pa a es e ipo de p oblema de o imização de unções não-linea es de al a dimensiona- lidade com a iá eis con ínuas, do que ou os algo i mos [ 4 , 5 , 10 ] e em menos pa âme os pa a ajus a , acili ando sua implemen ação. O PSO em sendo u ilizado com sucesso na solução de p oblemas da ciência e da engenha ia de ido à sua simplicidade, e icácia e obus ez [ 2 , 4 , 11 , 15 , 21 , 23 , 26 , 28 ]. Ap esen a como des an agens, a necessidade de in o mação do omado de decisão, pa âme os di íceis de ajus a , e ainda incapacidade de alcança a F en e de Pa- e o, p incipalmen e em p oblemas com mul imodalidade, aqueles com múl iplas soluções ó imas, onde algumas podem se melho- es soluções globais e ou as melho es soluções locais [ 12 ], po ém adap a-se ao p oblema abo dado. Cada pa ícula i do enxame S é ep esen ada po sua posição e sua elocidade. A posição é um e o de n dimensões, cujos compo- nen es ep esen am os pa âme os da unção obje i o. As pa ículas con olam a sua melho posição pbes e a melho posição global дbes , a melho solução conhecida den o de sua izinhança. Inicialmen e, as pa ículas do enxame possuem posições alea ó- ias no espaço de busca, obedecendo uma dis ibuição de p obabili- dade uni o me. Pos e io men e, a posição xi( ) de cada pa ícula i na i e ação é modi icada po uma elocidade es ocás ica i( ) que depende da dis ância que a pa ícula es á da sua melho solução conhecida e da dis ância pa a a melho solução conhecida den o de sua izinhança. Cada pa ícula i∈S se mo imen a em cada dimensão j∈{1,2, ..n} do espaço de busca em um ins an e disc e o de empo , segundo as Equações 5 e 6: −→ xi( +1)=−→ xi( )+−→ i( )(5) −→ i( +1)=w−→ i( )+c1 1−→ x∗ i( )−−→ xi( )+c2 2−→ x∗( )−−→ xi( ) (6) onde: w= iné cia ci= coe icien e de acele ação, i=(1,2) i = núme o alea ó io pe encen e a uma dis ibuição de p oba- bilidade uni o me , i=(1,2)e i∈[0,1] −→ x∗ i( )= melho posição da pa ícula i −→ x∗( )= posição da melho pa ícula da população −→ xi( )= posição a ual da pa ícula i Quando a izinhança das pa ículas consis e no enxame in ei o, a posição −→ xi( ) é denominada de дbes . O e o elocidade é quem o ien a o p ocesso de o imização, usando an o o conhecimen o adqui ido pa icula men e pela pa ícula quan o o conhecimen o adqui ido pela pa ícula baseada na in e ação com sua izinhança. O e mo c1 1−→ x∗ i( )−−→ xi( ) da equação de a ualização da e- locidade é a componen e cogni i a e ep esen a a expe iência da pa ícula. Essa componen e é a esponsá el pela endência que a pa ícula em de ol a pa a a melho solução encon ada po ela no passado. O e mo c2 2−→ x∗( )−−→ xi( ) , po sua ez, é conhecido como componen e social da equação da elocidade, e ep esen a o conhecimen o cole i o do enxame, sendo esponsá el po a ai cada pa ícula pa a a melho solução encon ada po alguma pa - ícula de sua izinhança. O e o elocidade −→ i é a soma e o ial das componen es cogni i a e social com a iné cia da pa ícula. A iné cia w a ua como uma memó ia da di eção da elocidade an e io da pa ícula e impede que haja al e ações b uscas na di eção da elocidade pa ícula [ 11 ]. Assim, caso a pa ícula es eja se di igindo a uma boa egião, a descobe a de um no o líde social não al e a á comple amen e essa di eção. O papel da componen e cogni i a é ap oxima a pa ícula na di eção da melho posição encon ada po ela desde o início da busca. Dessa o ma, a pa ícula de e á encon a uma boa posição que p o a elmen e es á p óxima do seu líde cogni i o a ual. A a és da componen e social, as pa ículas comunicam a in o mação sob e as melho es posições encon adas po elas desde o início do p ocesso de busca, sendo conside ada como a mais impo an e componen e na equação da elocidade das pa ículas. O pseudo-código do PSO é ap esen ado no Algo i mo 1. A cada passo, o algo i mo i á muda a elocidade de cada pa ícula em di eção às posições pbes e дbes , onde a posição e a elocidade da pa ícula são a ualizadas con o me as Equações 5 e 6, espec- i amen e. Um e mo alea ó io ponde a o quan o a pa ícula se mo imen a em di eção a esses alo es, onde di e en es núme os alea ó ios são ge ados em di eção à acele ação pa a pbes e дbes locais [ 20 ]. O algo i mo con inua á a i e a a é que um c i é io de pa ada seja alcançado. Ge almen e, esse c i é io de pa ada é um núme o máximo de i e ações especi icado ou um alo ap idão p é- de inido conside ado bom o su icien e. A equação de elocidade con ém á ios pa âme os que a e am o desempenho do algo i mo e alguns a e am signi ica i amen e na con e gência do algo i mo. A iné cia w , po exemplo, é undamen al pa a a con e gência do algo i mo. Ela de e mina o quan o as elocidades an e io es a e a- ão a elocidade a ual e de ini á um equilíb io en e o componen e cogni i o local e o global social das pa ículas. Se o alo da iné cia o al o, a elocidade aumen a á, a o ecendo a busca global. Mas, se o alo o baixo, as pa ículas so e ão uma desacele ação, a- o ecendo a busca local. Dessa o ma, um alo w que equilib a a pesquisa global e local implica menos i e ações pa a que o algo i mo possa con e gi . Apesa de c1 e c2 não in luencia em di e amen e Algo i hm 1 Pa icle Swa m Op imiza ion 1: d←n◃Inicializa a dimensão das pa ículas pa a d 2: x[i] ← xalea o io ◃Inicializa a população de pa ículas com posições e elocidades alea ó ias [i] ← alea o io 3: while c i e iopa ada = also do ◃ Repe e enquan o o c i é io de pa ada não i e sido alcançado 4: o ido1n ◃Pa a cada pa ícula calcula o seu alo ap idão, compa a o alo ap idão da pa ícula com o alo pbes e com o alo de дbes 5: i xa ual ↔pbes hen ◃Se o alo a ual da pa ícula é melho do que pbes 6: x[i] ← xa ual pbes ←xa ual 7: end i 8: i xa ual ↔дbes hen ◃Se o alo a ual da pa ícula é melho do que дbes 9: x[i] ← xa ual дbes ←xa ual 10: end i 11: x[i] ← xcalculada ◃ A ualiza a posição e elocidade da pa ícula Equações 5 e 6 [i] ← calcculada 12: end o 13: end while na con e gência do PSO, o ajus e desses pa âme os agiliza e e i a que o algo i mo seja pego em mínimos locais. O pa âme o c1 é e e ido como pa âme o cogni i o e o alo c1 1 , na Equação 6, de ine a ele ância da melho posição an e io . c2 é e e ido como o pa âme o social e c2 2 e de e mina o compo amen o da pa ícula em elação a ou os izinhos. O núme o, a dimensão das pa ículas, o alcance e a elocidade máxima das pa ículas são pa âme os u ilizados como en ada pa a o algo i mo, embo a não componham a de inição de elocidade. Quan o ao núme o de pa ículas, um alo al o cos uma aumen a a p obabilidade de encon a o ó imo global. O alo des e núme o depende da complexidade do p oblema de o imização, mas um in e alo ípico é en e 20 e 40 pa ículas [ 23 ]. Os alo es pa a a dimensão das pa ículas e o alcance, no qual sua mo imen ação é pe mi ida, são de e minados unicamen e pela na u eza do p oblema que es á sendo esol ido e de como ele é modelado pa a se adequa ao PSO. A elocidade máxima de ine a mudança máxima que uma pa ícula pode e em uma i e ação e no malmen e seu alo é ap oximadamen e a me ade do alcance de posição da pa ícula [ 23 ]. 4 ALGORITMO A modelagem de um p oblema PSO é di idida em duas ases: de ini- ção do p oblema e de inição da unção ap idão. A p imei a consis e em de ini como o p oblema se á codi icado, ou seja, de ini como a solução se á ep esen ada. A segunda, em de ini o quão boa uma pa ícula se á medida, ou seja, de ini a unção de ap idão. Já pa a ans o ma o p oblema PSO em um algo i mo, é p eciso de ini a pa ícula e sua dimensão. Na abo dagem ado ada nes e a igo, uma pa ícula ep esen a um luxo de abalho e suas a e as, e dimensão da pa ícula ep esen a o núme o de a e as no luxo de abalho. A dimensão de uma pa ícula se e pa a localiza sua posição no espaço, de inindo o sis ema de coo denadas. No exemplo do wo k- low do Ca é, a dimensão da pa ícula é qua o, sendo sua posição especi icada po um sis ema com qua o coo denadas. Uma pa ícula mo imen a-se num espaço limi ado, denomina-se alcance. Na abo dagem ado ada nes e a igo, o alcance é de e mi- nado pelo núme o de pools de h eads disponí eis pa a execu a a a e a. Assim, o alo de uma coo denada no sis ema de coo dena- das, que de ine o espaço de mo imen ação da pa ícula, em um alcance de 0 a é o núme o máximo de pools de h eads disponí eis. A pa e in ei a do alo de uma coo denada na posição de uma pa ícula co esponde ao núme o de pools de h eads e ep esen a o ecu so compu acional a ibuído a uma a e a de inida po essa coo denada especí ica. Assim, a posição da pa ícula co esponde a um mapeamen o da a e a em ecu sos. Pa a o wo k low do Ca é, alo es pa a as qua o coo denadas( a e as) do nosso sis ema de coo denadas, no qual exis em ês ecu sos com- pu acionais (pools de h eads disponí eis), de o ma que o alo de cada coo denada pode á a ia en e 0 e 3. Há 4 a e as pa a se em mapeadas, o que co esponde a dimensão 4 da pa ícula, po an o a posição da pa ícula e á 4 coo denadas. O índice da coo denada (de 1 a 4) co esponde a uma a e a (de 1 a 4 ). O alo da coo denada é um núme o eal de 0 a 3 , co espondendo ao núme o de ecu sos disponí eis pa a cada a e a, com o máximo de 3 no nosso exemplo. Quando esse núme o in ei o é a edondado, é de e minado o nú- me o de ecu sos disponí eis pa a cada a e a. A unção de ap idão de e e le i os obje i os do p oblema de agendamen o, pois ela é usada pa a de e mina o quão boa uma de e minada solução é. Nessa abo dagem, ela é minimizada e seu alo se á o empo o al de execução TTE con ido no agendamen o A de i ado da posição da pa ícula. Conside ando que o mo o de execução é capaz de aumen- a elás ica e dinamicamen e a quan idade de ecu sos, o modelo de aquisição o e ecido pela compu ação em nu em pa ece ilimi ado, ou seja, não há um conjun o de ecu sos disponí eis que pode se usado no algo i mo. A es a égia é de ini um conjun o inicial de e- cu sos que o algo i mo pode usa pa a explo a di e en es soluções e alcança o agendamen o. O amanho desse conjun o se á nossa es ição TR ≤δ , con o me a Equação 4. Tal es a égia em de e le i a he e ogeneidade dos pools de h eads (di e en es núme os de h eads) e o e ece opções su icien es de PSO, a im de que seja p oduzida uma pa ícula adequada, ou seja, a solução. O conjun o de ecu sos inicial e limi ado con e á os ecu sos que podem se usados. Se esse conjun o é mui o g ande, o núme o de agendamen o possí eis aumen a á, assim como, o espaço de pesquisa explo ado pelo PSO, o nando di ícil pa a o algo i mo con e gi e encon a uma solução adequada [23]. Pa a eduzi o amanho do espaço de pesquisa, o qual se á usado pelo PSO pa a encon a um agendamen o p óximo do ó imo, conside a-se um conjun o de ecu sos inicial Rinicial , compos o po um Pool de cada ipo, pa a cada a e a em P; onde P é o conjun o que con ém o núme o máximo de a e as que podem se execu adas em pa alelo pa a um dado luxo de abalho. O algo i mo seleciona á o núme o e o ipo ap op iados de Pools pa a o mo o de execução, den o das opções con idas em Rinicial . Assim, e le e-se a he e- ogeneidade dos ecu sos compu acionais e eduz-se o amanho do espaço de busca, além de pe mi i mapea odas as a e as que podem se execu adas em pa alelo. O amanho de Rinicial se ia igual a |P|∗n , onde n é o núme o de ipos de Pools disponí eis, sendo ainda possí el, que o PSO selecione mais de um ecu so |P| , se necessá io (a menos que n=1). O p oblema abo dado possui a es ição TR ≤δ , u iliza-se uma e são do PSO que inco po a uma es a égia pa a a a es i- ções [ 7 ]. Nela, semp e que duas soluções es ão sendo compa adas e (i) ambas as soluções o em iá eis, en ão a solução com melho ap idão é selecionada; (ii) se uma solução é iá el e a ou a não é, en ão a iá el é selecionada; e inalmen e, (iii) se ambas as soluções são in iá eis, aquela que iola menos a es ição é selecionada. No úl imo caso, implica que uma medida de quan o uma solução iola a es ição p ecisa se encon ada. O p oblema de ine o alo de iolação de es ição de uma solução δk , a es ição pode se a ibuída a limi ação de ecu sos que se deseja con a a na compu- ação em nu em ou simplesmen e e a quan idade de h eads ísicas das máquinas que i ão se u ilizadas na execução da solução de in eg ação. Uma solução do PSO que u ilize ecu sos p óximos de δkse á p e e ida em elação a uma solução menos ecu sos. O Algo i mo 2 ap esen a o pseudo-código pa a mapea a posição de uma pa ícula em um agendamen o. O conjun o de ecu sos R pa a se em alocados e o conjun o de mapeamen os M de a e as pa a ecu sos são inicializados sem elemen os, ou seja, azios, e empo o al de execução TTE é inicializado com o alo ze o. Na sequência, o algo i mo es ima o empo de execução de cada a e a do luxo de abalho pa a odo o ecu so i∈Rinicial . A ep e- sen ação é uma ma iz em que as linhas ep esen am as a e as, as colunas ep esen am os ecu sos e a en ada TempoExec[i,j] co esponde ao empo gas o pa a execu a a a e a i no ecu so j , calculado con o me a Equação 1. O p óximo passo é o cálculo ou a ibuição da ma iz de empo de ans e ência de dados, ou empo de espe a na ila de a e as, o qual assume-se que es á sendo ob ido po um p ocedimen o, não a ado nesse abalho, al como po uma e amen a de moni o amen o. Essa ma iz é ep esen ada como uma ma iz de adjacência ponde ada do wo k low DAG, onde a en ada TempoT ans e [i,j] con ém o empo que le a pa a ans- e i os dados de saída da a e a i pa a a a e a j e esse alo é ze o semp e que i=j ou não há a es a di ecionada conec ando i ( a e a pai) e j ( a e a ilha). De posse dessas in o mações, o algo i mo inicia de e minando a posição da pa ícula e cons uindo o agendamen o. Pa a isso, i e a pa a oda i do a ay de posição pos e a ualiza R e M . P imei o, de e mina a a e a e o ecu so que es á associado à coo denada a ual e seu alo . A es a égia usada pa a isso é a desc i a an e io men e, a qual indica que a coo denada i co esponde à a e a i e seu alo pos[i] co esponde ao ecu so pos[i]∈Rinicial . Encon ados os componen es, i e j , de uma upla de mapeamen o m j i , o algo i mo calcula os demais, o empo de inicio TIni ie empo de inalização T Fin ida a e a. O alo de empo de início TIni i di e encia-se em duas si uações. Na p imei a, a a e a não em a e a pai e, po an o, pode começa a se execu ada, assim que o ecu so alocado pa a ela pos[i] es i e disponí el, o que oco e á quando o e e ido ecu so e mina a exe- cução que es i e em andamen o. Na segunda si uação, a a e a em um ou mais pais e, nesse caso, além de espe a que o ecu so pa a ela alocado es eja disponí el, ambém e á que agua da pelo é mino da execução das suas a e as pai, além do empo de ans e ência dos dados. O alo de TFin i é calculado baseado no empo o al de p oces- samen o e no empo de início da a e a. Pa a de e mina o empo de p ocessamen o TP pos[j] i , é necessá io calcula o empo de execu- ção e o empo de ans e ência. O p imei o é TempoExec[i,pos[i]] , enquan o o úl imo é calculado pela soma dos alo es do empo de ans e ência TempoT ans [i, ilha(i)] pa a oda a e a ilha ilha(i) de i , que es á mapeada pa a oda em um ecu so di e- en e de pos[i] . Esses dois alo es são en ão somados pa a ob e TP pos[j] i , como de inido na Equação 2. Po im, o alo de TFin i é ob ido pela sub ação de TIni i de TP pos[j] i . Calculados os ele- men os de m , adiciona-se ecu so pa a R , se necessá io. Quando o algo i mo e mina de p ocessa , cada coo denada do e o posição, R con e á odos os ecu sos necessá ios e os empos de início e inalização. Além disso, o mapeamen o comple o das a e as pa a os ecu sos es a á em M e cada a e a e á um ecu so a ibuído a ela e o empo es imado de início e o de é mino. Com essas in- o mações o algo i mo pode calcula o TTE associado a solução a ual, con o me Equação 2. Nesse pon o, o algo i mo calculou R , M e TTE e pode á cons ui e ap esen a o agendamen o associado pa a essa posição da pa ícula. Finalmen e, os Algo i mos 1 e 2 são combinados pa a o agendamen o p óximo de ó imo. Na linha 4 do Algo i mo 1, em ez de calcula o alo de ap idão da pa ícula, ge a-se o agendamen o, con o me Algo i mo 2. Em seguida, usa-se Algo i hm 2 Ge ação de agendamen o En ada: Conjun o de luxo de abalho de a e as T Conjun o Inicial de ecu sos Rinicial Um a ay pos[|T|] ep esen ando a posição da pa ícula Saída: Um agendamen o A 1: R=∅,M=∅,TTE =0◃Inicializa componen es 2: Calcula TempoExec[|T|×|Rinicial |] 3: Calcula TempoT ans [|T|×|T|] 4: o ido0|T|−1 5: i=T[i], pos[i]=Rinicial [pos[i]] 6: i inão em pai hen 7: TIni i=T Fin pos[i] 8: else 9: TIni i=(max {T Fin pai : pai [∈ pais( i)},T Fin pos[i]) 10: end i 11: exe = empoExec [i] [pos [i]] 12: o cada ilha ilha de ido 13: i ilha é mapeada pa a um ecu so di e en e de pos[i] hen 14: as e + = TempoT ans [i][c] 15: end i 16: end o 17: TP pos[j] i =exe + ans 18: TFin i=TP pos[j] i−TIni i 19: m pos[j] i =( i, pos[i],TIni i,TFin i) 20: M=M∪ {m pos[i] i} 21: i pos[i]<R hen 22: R=R∪ pos[i] 23: end i 24: end o 25: Calcula TTE con o me Equação 3 26: A=(R,M,TR,TTE) oTTE como alo de ap idão nas e apas seguin es e é in oduzido o mecanismo de manipulação de es ição, al que TR ≤δ . 5 ACKNOWLEDGEMENTS This wo k was pa ially suppo ed by he B azilian Coo dina ion o he Imp o emen o Highe Educa ion Pe sonnel (Capes), unde pos doc o al esea ch g an 88881.119518/2016-01 6 CONCLUSÃO A e iciência dos mo o es de execução das pla a o mas de in eg a- ção es á di e amen e elacionado com o algo i mo de agendamen o das a e as e a alocação de h eads pa a execu á-las. Um algo i mo ine icien e le a a um aumen o do empo de execução, deg adando assim o desempenho das soluções de in eg ação. Es e a igo p opõe um algo i mo baseado na me a-heu ís ica Pa icle Swa m Op imiza- ion pa a a alocação de h eads em mo o es de execução baseados em ilas FIFO. O algo i mo p opos o a ibui h eads pa a as a e as conside ando a complexidade compu acional da a e a e a he e oge- neidade na capacidade compu acional das h eads. Apesa do PSO localiza de o ma ápida a egião das boas soluções, é len o no ajus e ino da solução, como acon ece em ou as écnicas, como no caso dos algo i mos gené icos. Como abalho u u o, p e ende-se implemen a esse algo i mo em um mo o de execução da pla a- o ma Gua aná pa a a alia o ganho de desempenho com dis in os casos de uso. REFERÊNCIAS [1] A. A. Ab aham, G. M. King, D. V. Rosa, and D. W. Schmid . Run ime capaci y planning in a simul aneous mul i h eading (sm ) en i onmen , Aug. 16 2016. US Pa en 9,417,927. [2] A. Al-maama i and F. A. Oma a. Task scheduling using pso algo i hm in cloud compu ing en i onmen s. In e na ional Jou nal o G id and Dis ibu ed Compu ing, 8(5):245–256, 2015. [3] C. Alexande , S. Ishikawa, and M. Sil e ein. A pa e n language: owns, buildings, cons uc ion. Ox o d Uni e si y P ess, 1977. [4] M. R. AlRashidi and M. E. El-Hawa y. A su ey o pa icle swa m op imiza- ion applica ions in elec ic powe sys ems. IEEE T ansac ions on E olu iona y Compu a ion, 13(4):913–918, 2009. [5] D. B a on and J. Kennedy. De ining a s anda d o pa icle swa m op imiza ion. In Swa m In elligence Symposium, 2007. SIS 2007. IEEE, pages 120–127. IEEE, 2007. [6] E.-K. Byun, Y.-S. Kee, J.-S. Kim, and S. Maeng. Cos op imized p o isioning o elas ic esou ces o applica ion wo k lows. Fu u e Gene a ion Compu e Sys ems, 27(8):1011–1026, 2011. [7] K. Deb, A. P a ap, S. Aga wal, and T. Meya i an. A as and eli is mul iobjec i e gene ic algo i hm: Nsga-ii. IEEE ansac ions on e olu iona y compu a ion, 6(2): 182–197, 2002. [8] P. Die el. Ja a how o p og am. PHI, 2009. [9] D. Dosso , J. D’Emic, and V. Rome o. Mule in ac ion. Manning, 2014. [10] R. Ebe ha and J. Kennedy. Pa icle swa m op imiza ion. In neu al ne wo ks, 1995., P oceedings o he IEEE in e na ional join con e ence on, pages 1942–1948. IEEE, 1995. [11] A. P. Engelb ech . Compu a ional in elligence: an in oduc ion. John Wiley & Sons, 2007. [12] E. M. d. N. FIGUEIREDO. Algo i mo baseado em enxame de pa ículas pa a o imização de p oblemas com mui os obje i os. 2013. [13] M. Fishe , J. Pa ne , M. Bogoe ice, and I. Fuld. Sp ing in eg a ion in ac ion. Manning Publica ions Co., 2012. [14] R. Z. F an z, R. Co chuelo, and F. Roos-F an z. On he design o a main ainable so wa e de elopmen ki o implemen in eg a ion solu ions. Jou nal o Sys ems and So wa e, 111:89–104, 2016. [15] Y. Fukuyama and Y. Nakanishi. A pa icle swa m op imiza ion o eac i e powe and ol age con ol conside ing ol age s abili y. In P oc. 11 h IEEE In . Con . In ell. Sys . Appl. Powe Sys , pages 117–121, 1999. [16] B. Hohpe, G ego ; Wool . En e p ise in eg a ion pa e ns: Designing, building, and deploying messaging solu ions. Addison-Wesley P o essional, 2004. [17] G. Hohpe. You co ee shop doesn’ use wo-phase commi [asynch onous messaging a chi ec u e]. IEEE so wa e, 22(2):64–66, 2005. [18] J. Ibsen, Claus & Ans ey. Camel in ac ion. Manning Publica ions Co., 2010. [19] K. Ind asi i. In oduc ion o WSO2 ESB. Sp inge , 2016. [20] A. Lazinica. Pa icle swa m op imiza ion. InTech Ki chengasse, 2009. [21] C. O. Ou ique, E. C. Biscaia, and J. C. Pin o. The use o pa icle swa m op imiza ion o dynamical analysis in chemical p ocesses. Compu e s & Chemical Enginee ing, 26(12):1783–1793, 2002. [22] S. Pandey, L. Wu, S. M. Gu u, and R. Buyya. A pa icle swa m op imiza ion-based heu is ic o scheduling wo k low applica ions in cloud compu ing en i onmen s. In Ad anced in o ma ion ne wo king and applica ions (AINA), 2010 24 h IEEE in e na ional con e ence on, pages 400–407. IEEE, 2010. [23] M. A. Rod iguez and R. Buyya. Deadline based esou ce p o isioningand schedu- ling algo i hm o scien i ic wo k lows on clouds. IEEE T ansac ions on Cloud Compu ing, 2(2):222–235, 2014. [24] J. Russell and R. Cohn. Fuse Esb. Book on Demand, 2012. ISBN 9785510817041. [25] D. F. Sella o. Pa icle swa m op imiza ion pa a agendamen o de a e as na in eg ação de aplicações emp esa iais. V SFCT, 14, 2017. [26] T. Sousa, A. Sil a, and A. Ne es. Pa icle swa m based da a mining algo i hms o classi ica ion asks. Pa allel Compu ing, 30(5):767–783, 2004. [27] A. Tanenbaum. Mode n ope a ing sys ems. Pea son Educa ion, Inc., 2009. [28] F. Van Den Be gh and A. P. Engelb ech . A s udy o pa icle swa m op imiza ion pa icle ajec o ies. In o ma ion sciences, 176(8):937–971, 2006. [29] Z. Wu, Z. Ni, L. Gu, and X. Liu. A e ised disc e e pa icle swa m op imiza ion o cloud wo k low scheduling. In Compu a ional In elligence and Secu i y (CIS), 2010 In e na ional Con e ence on, pages 184–188. IEEE, 2010.