uso da tÉcnica diakoptics e processamento ...3 processamento paralelo p rocessamento em paralelo...
TRANSCRIPT
USO DA TÉCNICA DIAKOPTICS E PROCESSAMENTO PARALELO PARA SIMULAÇÕES DE
TRANSITÓRIOS ELETROMAGNÉTICOS
BRUNA, L. FERRARI, PEDRO DA COSTA JR., JOSÉ E. C. CASTANHO, ANDRÉ N. DE SOUZA
Laboratório de Sistemas de Potência e Técnicas Inteligentes (LSISPOTI),
Departamento de Engenharia Elétrica, UNESP - Univ Estadual Paulista
Av. Eng. Luiz Edmundo C. Coube 14-01, CEP 17033-360 - Bauru - SP – São Paulo - Brasil
E-mails: [email protected], [email protected], [email protected], [email protected]
Abstract In this paper, the Diakoptics technique is reviewed and used to analyse electrical circuits. This technique allows par-
titioning of systems for parallel processing in the solution of electromagnetic transients. The Diakoptics technique is explained
using examples of application and the performance of parallel processing with multiple cores of a CPU is evaluated.
Keywords Simulation of Power Systems, Electromagnetic Transients, MATLAB, Multicore, Partitioning, Diakoptics, EMTP,
Algorithms, Dynamic Power System, Parallel Processing.
Resumo Nesse artigo, a técnica Diakoptics é revisada e empregada para análise de circuitos elétricos. Essa ferramenta permite
o particionamento de sistemas para o processamento paralelo na solução de transitórios eletromagnéticos. A técnica Diakoptics é
explicada através de exemplos de aplicação e o desempenho do processamento paralelo com vários núcleos de uma CPU é avali-
ado.
Palavras-chave simulação de sistemas de potência, transitórios eletromagnéticos, multiprocessamento, particionamento, dia-
koptics.
1 Introdução
É notória a importância econômica das simula-
ções de transitórios eletromagnéticos para estudar
ocorrências de falhas indesejáveis em um sistema de
potência.
A simulação de transitórios eletromagnéticos é em-
pregada para estimar o estresse que transitórios de
tensões e corrente podem provocar à instalação do
sistema elétrico de potência. Esse tipo de simulação,
entretanto, apresenta alto custo computacional e limi-
ta o número de casos que podem ser simulados ao
consumir uma quantidade excessiva de “homens-
hora” e horas de máquina. Existem vários fatores que
afetam o tempo de simulação: o tamanho do passo de
tempo da simulação, o tamanho da janela de tempo
de interesse, a ordem e a complexidade do modelo
matemático usado, limitação dos recursos computa-
cionais, eficiência de programação, e a natureza se-
quencial da solução (M. Uriate, 2013). Atualmente
requer-se simuladores tão rápidos quanto os de esta-
bilidade transitória (TS) e tão detalhados quanto um
simulador de Transitórios Eletromagnéticos (EMT)
(Fan and Ding, 2012).
A metodologia Diakoptics foi proposta e desenvolvi-
da por Gabriel Kron (Kron, 1963) para resolver pro-
blemas de sistemas com alta complexidade, e consis-
te basicamente em um conjunto de procedimentos de
particionamento do sistema original em subproble-
mas tratáveis. Entretanto, como esta ferramenta per-
mite o particionamento de sistemas lineares, vislum-
brou-se o potencial de utilizá-la para viabilizar a so-
lução das simulações de transitórios eletromagnéticos
em sistemas de processamento paralelos visando ace-
lerar o tempo de execução (M. Uriate, 2013). O uso
da metodologia Diakoptics para aceleração da obten-
ção do transitório eletromagnético apresenta grande
potencial de desenvolvimento considerando as atuais
condições de disponibilidade de sistemas multipro-
cessados de baixo custo, tanto os sistemas com pro-
cessadores multicores como unidades processamento
gráfico de propósito geral ou GPGPU (General Pur-
pose Graphics Processing Unit) (Kirk and Hwu,
2013; Stone et al., 2010) . Nesse artigo a viabilidade
do emprego desta metodologia é demonstrada e o seu
potencial de utilização é avaliado. Na próxima seção
é feita uma revisão da técnica Diakoptics.
2 Diakoptics
A metodologia conhecida como Diakoptics, cujo
prefixo Dia e sufixo koptic significam sistema e cor-
tar, respectivamente, foi inicialmente proposta por
Gabriel Kron (Kron, 1963) para resolver problemas
de sistemas de potência.
A técnica Diakoptics consiste em particionar um sis-
tema de grande porte em subsistemas mantendo a
identidade do sistema original nos subsistemas (Olo-
baniyi et al., 2012) usando e/ou revelando alguns
detalhes do sistema que teriam perdido importância
em outras simplificações (M. Uriate, 2013).
Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014
1932
A técnica Diakoptics foi empregada em diversas
áreas onde sistemas grandes e/ou complexos devem
ser desmembrados (Aitchison, 1987).
Quando a técnica de particionamento Diakoptics foi
desenvolvida, as ferramentas computacionais eram
escassas e lentas. Com o avanço dos computadores, a
velocidade foi apenas um dentre vários benefícios
oferecidos por este tipo de particionamento. Basica-
mente, o método reduz a dimensão das matrizes que
podem ser tratadas individualmente, de forma con-
comitante.
A técnica Diakoptics é uma ferramenta muito útil que
pode ser explorada em análises de sistemas de potên-
cia modernos, porém ainda é pouco utilizada. Algu-
mas razões pelo pouco uso dessa técnica como uma
ferramenta universal de análise de sistemas de potên-
cia é devido principalmente pelo sucesso das técnicas
de esparsidade (Sato and Tinney, 1963; Tinney et
al., 1985). Mas é no contexto de simuladores em
tempo real (Marti and Linares, 1994), e particular-
mente de soluções com multiprocessamento que as
vantagens da técnica Diakoptics se destacam (Marti
et al., 2000). Embora tanto as técnicas de esparsidade
quanto a técnica Diakoptics tirem proveito da espar-
sidade do sistema, a técnica Diakoptics mantém a
identidade dos subsistemas, fato que é muito difícil
de ser conseguido com as técnicas de esparsidade
para decomposição de matrizes. A manutenção da
individualidade dos subsistemas permite, por exem-
plo, o pré-cálculo (fora do laço de simulação) da in-
versão das submatrizes para aqueles subsistemas cuja
topologia não se altera, enquanto que apenas alguns
subsistemas exigem recálculo (J. R. Marti et al.,
2002).
Para ilustrar a aplicação da técnica Diakoptics, con-
sidere o circuito da Figura 1.
Figura 1. Circuito Elétrico
A Figura 2 apresenta o circuito equivalente ao da
Figura 1, quando discretizado usando o método de
integração trapezoidal (Dommel, 1969). Observe que
o corte foi realizado entre os nós 1 e 2.
Figura 2. Circuito Elétrico Equivalente
Na Figura 2, as resistências equivalentes dos induto-
res e capacitor são obtidas através das equações (1),
(2), e (3).
2
j
j
L
LR
t
(1)
2
L
LR
t
(2)
2
C
tR
C
(3)
As correntes fictícias (LjI ,
LI , e CI ), que aparecem
devido à integração numérica no domínio do tempo,
são atualizadas através das equações (4), (5), e (6),
em função das tensões nodais 1e t , 2e t , e 3e t .
1 2( ) ( )Lj Lj
j
tI t e t e t I t t
L
(4)
1( ) ( )L L
tI t e t I t t
L
(5)
2( ) ( )C C
j
tI t e t I t t
L
(6)
A Figura 3 apresenta os ramos que foram retirados
após o seccionamento do circuito entre os nós 1 e 2.
Nesta mesma figura, 1 2Lj ke e e e .
Figura 3. Ramos de Intersecção.
A Figura 4 apresenta os dois subsistemas obtidos
com o seccionamento do sistema equivalente origi-
nal, apresentado na Figura 2.
Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014
1933
Figura 4. Subsistemas equivalentes após o seccionamento.
Na Figura 4, as condutâncias G são obtidas através
das equações de (7) a (11).
1 11S SG R (7)
1L LG R (8)
1C CG R (9)
23 231G R (10)
3 31S SG R (11)
Enquanto a equação (12) relaciona o vetor de corren-
tes fictícias com as correntes dos ramos retirados, a
equação (13) relaciona as correntes de ramos com as
quedas de tensão nos ramos retirados no secciona-
mento do circuito original.
1
2
3
' 1 1
' ' 1 1
0 0'
Lj
a ac c
k
ii
i C i ii
i
(12)
0 '
'0 '
Lj Lj Lj
cc c c
k k k
R i eR i e
R i e
(13)
Assim, a matriz acC , na equação (12) relaciona as
correntes fictícias injetadas em cada nó do sistema
em função das correntes nos ramos retirados no pro-
cesso de particionamento do circuito.
Por outro lado, podemos escrever a equação (14).
1 2
1 2
1 1
2 2
3 3
''
'
1 1 0
1 1 0
Lj
c
k
t
ca
e e ee
e e e
e e
e C e
e e
(14)
Observando a equação (14), verifica-se que a matriz t
caC relaciona as quedas de tensão nos ramos retira-
dos com o vetor de tensões nodais do sistema.
Substituindo 'ce , da equação (14) na equação (13), e
isolando ci , segue a equação (15).
1
1
2
3
t
c cc ca
e
i R C e
e
(15)
Os subsistemas são descritos pelas equações matrici-
ais (16) e (17).
1 1 1 1'S LG G e I i (16)
2 223 23 2
23 3 23 3 3 3
'
'
C
S
I iG G G e
G G G e I i
(17)
A equação (18) é obtida a partir da combinação das
equações (16) e (17).
1 111 1
22 2 2 2
'
'
J jG v
G v J j
(18)
Onde:
1 1v e (19)
2
2
3
ev
e
(20)
1 1 1 1'J j I i (21)
2 2
2 2
3 3
'
'
I iJ j
I i
(22)
11 1' S LG G G (23)
23 23
22
23 3 23
'C
S
G G GG
G G G
(24)
A equação (18) pode ser novamente reduzida à nota-
ção da equação (25), onde 'aaG é uma matriz diago-
nal por blocos.
'aa a a aG v J j (25)
Onde:
11
22
''
'aa
GG
G
(26)
1
2
a
vv
v
(27)
1
2
a
JJ
J
(28)
1
1
2
2
3
'
'
'
a ac c
ij
j i C ij
i
(29)
Isolando av na equação (25), e substituindo aj pela
equação (29), obtém-se a equação (30).
Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014
1934
1 1
' 'a aa a aa ac cv G J G C i
(30)
Substituindo a equação (15) em (30), obtemos a
equação (31).
1
' t
aa a a ac cc ca aG v J C R C v
(31)
Separando os termos em av (31), obtém-se a equação
(32).
1' t
aa ac cc ca a aG C R C v J
(32)
Usando a identidade de Sherman-Morrison-
Woodbury (Woodbury, 1950), obtém-se a equação
(33).
1 1 1 1' ' ' 't
a aa aa ac cc ca aa av G G C R C G J
(33)
Onde
t t
ca acC C (34)
1
' 't
cc cc ca aa acR R C G C
(35)
3 Processamento Paralelo
Processamento em paralelo consiste em uma téc-
nica de interligação de várias unidades de processa-
mento (computadores individuais, não necessaria-
mente homogêneos) de maneira que um processo de
grande consumo seja executado na unidade “mais
disponível”, ou mesmo subdividido por várias unida-
des. Consegue-se, portanto, ganhos nestas soluções:
uma tarefa qualquer, se divisível em várias subtarefas
pode ser realizada em paralelo. Analogamente, pode-
se pensar nessas subtarefas como os subsistemas cri-
ados na análise do Diakoptics.
Utilizando múltiplos processadores simultaneamente
para solucionar um problema existe uma expectativa
de que haja um decréscimo do tempo necessário para
resolver um problema, ou seja, uma melhora de de-
sempenho.
A tecnologia multicore que consiste em colocar mais
de um núcleo no interior de um único chip processa-
dor, possibilita que haja divisões de tarefas, sendo
assim que cada núcleo solucione as subtarefas simul-
taneamente proporcionando uma simulação mais rá-
pida.
Figura 5. Processamento em Paralelo
O processamento em paralelo, usando a tecnologia
multicore e a análise Diakoptics, torna possível o
processamento de um sistema de grandes proporções
quando dividido em subsistemas com características
similares àquelas apresentas pelo sistema original.
De acordo com a equação (18) e (35), nota-se que
11'G , 22'G e 'ccR podem ser tratadas simultanea-
mente em processadores diferentes para posterior
solução da equação (33).
4 Verificação
Como exemplo representativo, considere o pro-
blema que exija a inversão de uma matriz de condu-
tâncias 150 150G
. A técnica de Diakoptics fornece uma
metodologia eficiente para particionar o problema e
que substitui a necessidade de inversão da matriz
original pela inversão de 3 matrizes com dimensões
menores (e.g,50 50G ), que podem ser invertidas simul-
taneamente em unidades de processamento individu-
ais.
Para verificar computacionalmente a aplicabilidade
da técnica Diakoptics, implementou-se em Matlab
um algoritmo para estimar o tempo para inverter as
matrizes 11'G e
22G' e o tempo para inverter a matriz
'aaG , para diversas quantidades de núcleos. Lem-
brando que 11'G e
22'G correspondem a inversão das
matrizes em dois núcleos processadores separados.
Para usar três núcleos particiona-se a matriz 'aaG em
três submatrizes 11'G ,
22'G e 33'G , e assim por dian-
te.
A Figura 6 apresenta o tempo necessário para inver-
são de matrizes de dimensões diferentes, usando ape-
nas um núcleo e o tempo necessário para inversão de
n submatrizes obtidas com a partição Diakoptics
usando n núcleos.
Figura 6. Gráfico do Tempo Médio
Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014
1935
A Figura 6 apresenta o tempo médio, ou seja, a média
aritmética do tempo usado para o processamento com
n núcleos. Conclui-se que conforme a dimensão da
matriz de condutâncias aumenta, a redução do tempo
de simulação, usando mais de um núcleo, se acentua.
Por exemplo, quando a matriz apresenta a dimensão
3000 3000 , o tempo de simulação é aproximada-
mente 2,6 vezes menor usando dois núcleos, 4,2 ve-
zes menor usando três núcleos e 5,6 vezes menor
usando quatro núcleos, tomando como referência o
tempo necessário para o processamento feito com
apenas um núcleo.
A Tabela 1 apresenta as dimensões mínimas das ma-
trizes a partir das quais o processamento paralelo
apresenta-se mais rápido quando comparado com o
processamento feito com apenas um núcleo. Os da-
dos dessa tabela são os mesmo usados para fazer o
gráfico da Figura 6. A Tabela 1 informa, por exem-
plo, que as matrizes com dimensões inferiores a 119
são mais rapidamente processadas usando apenas um
núcleo.
Tabela 1. Dimensões para as quais o tempo de processamento é
aproximadamente igual ao tempo de processamento com 1 núcleo
Número de Núcleos Dimensão da Matriz
2 119 119
3 92 92
4 80 80
A Figura 7 apresenta um circuito elétrico que foi
usado para verificar a viabilidade da técnica Diakop-
tics.
Figura 7. Circuito usado para avaliar a técnica Diakoptics.
A Figura 8 apresenta as tensões nodais calculadas
usando a abordagem tradicional, na qual a matriz de
condutâncias nodais é usada na sua forma não parti-
cionada. Basicamente solucionou-se a equação (36).
G V I (36)
A Figura 9 apresenta a solução do circuito da Figura
1 usando a equação (33) para validar a técnica Dia-
koptics. O “corte” foi realizado entre os nós 5 e 6 de
modo a manter as dimensões das submatrizes dos
sistemas particionados com aproximadamente a
mesma dimensão. Isso é feito para balancear as tare-
fas de inversão das submatrizes entre os dois núcleos
de processamento. A importância da relação entre as
dimensões de 11'G e
22'G deve-se ao fato de que am-
bos os núcleos devem realizar tarefas de preferência
ao mesmo tempo, afinal não adianta um núcleo ter-
minar sua tarefa muito antes do outro.
Figura 8. Tensões nodais obtidas sem processamento paralelo.
Figura 9. Solução usando Diakoptics e processamento paralelo.
A Figura 10 apresenta os resultados obtidos com o
PSCAD. Esses resultados validam tanto a implemen-
tação da solução na forma tradicional quanto usando
a técnica Diakoptics.
Embora o exemplo apresentado seja simples, de-
monstrou-se que a técnica Diakoptics permite parti-
cionar um sistema complexo, possibilitando de forma
eficiente a alocação dos subsistemas em diferentes
unidades de processamento, com o consequente ga-
nho de desempenho.
Alguns aspectos do problema, tais como o desenvol-
vimento de métodos que permitam particionar os
sistemas de forma a balancear a carga dos processa-
dores devem investigados. Outro aspecto a ser explo-
rado é o estabelecimento de diferentes perfis de sis-
temas levando em conta as características dos proces-
sadores disponíveis para execução, tais como quanti-
dade e localidade de memória, latência, etc.
Figura 10. Tensões ao Longo da Linha (PSCAD)
Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014
1936
Conclusão
Esse artigo consiste em uma revisão do método
de partição de redes elétricas, conhecido como Dia-
koptics, apresentando uma aplicação na solução de
circuitos elétricos.
Inicialmente, demonstrou-se que a utilização da téc-
nica Diakoptics só é vantajosa quando a dimensão da
matriz do sistema original é tal que o tempo de pro-
cessamento numérico usando apenas um núcleo é
superior ao processamento de várias submatrizes por
vários núcleos, uma vez que existe um sobrecarga de
tempo para o gerenciamento dos processos paralelos.
Os resultados obtidos com o PSCAD validaram as
implementações em MATLAB da técnica Diakoptics,
a qual viabiliza o uso de múltiplos núcleos para solu-
ção de múltiplos subsistemas.
A presente pesquisa deverá prosseguir investigando
metodologias que permitam a partição automática de
circuitos elétricos para viabilizar o emprego da técni-
ca Diakoptics em processamentos paralelos de siste-
mas de grande porte.
5 Agradecimentos
Agradeço à FAPESP que financia esta pesquisa,
através do processo 2013/02139-6.
Referências Bibliográficas
Aitchison, P.W., 1987. Diakoptics as a general ap-
proach in engineering. J. Eng. Math. 21, 47–
58. doi:10.1007/BF00127693
Dommel, H.W., 1969. Digital Computer Solution of
Electromagnetic Transients in Single-and
Multiphase Networks. IEEE Trans. Power
Appar. Syst. PAS-88, 388 –399.
doi:10.1109/TPAS.1969.292459
Fan, S., Ding, H., 2012. Time Domain Transforma-
tion Method for Accelerating EMTP Simu-
lation of Power System Dynamics. IEEE
Trans. Power Syst. 27, 1778–1787.
doi:10.1109/TPWRS.2012.2188913
J. R. Marti, L. Linares, J. A. Hollman, F. A. Moreira,
2002. OVNI: Integrated Software/Hardware
Solution for Real-Time Simulation of Large
Power Systems. Presented at the Power Sys-
tems Computation Conference (PSCC’02),
Sevilla, Spain, pp. 1–7.
Kirk, D., Hwu, W., 2013. Programming massively
parallel processors a hands-on approach,
second edition. Elsevier ; Morgan
Kaufmann, Amsterdam; Boston; Waltham,
Mass.
Kron, G., 1963. Diakoptics: The Piecewise Solution
of Large Scale Systems. MacDonald Publis-
hing.
M. Uriate, F., 2013. Multicore Simulation of Power
System Transients. Institution of Enginee-
ring and Technology, London, United
Kingdom.
Marti, J.R., Hollman, J.A., Calvino-Fraga, 2000. Im-
plementation of a real-time distributed
network simulator with PC-cluster, in: Inter-
national Conference on Parallel Computing
in Electrical Engineering, 2000. PARELEC
2000. Proceedings. Presented at the Interna-
tional Conference on Parallel Computing in
Electrical Engineering, 2000. PARELEC
2000. Proceedings, pp. 223–227.
doi:10.1109/PCEE.2000.873633
Marti, J.R., Linares, L.R., 1994. Real-time EMTP-
based transients simulation. IEEE Trans.
Power Syst. 9, 1309 –1317.
doi:10.1109/59.336135
Olobaniyi, F., Nouri, H., Ghauri, S., 2012. Investiga-
tion of Diakoptics as a resourceful tool in
power system analysis, in: Universities Po-
wer Engineering Conference (UPEC), 2012
47th International. Presented at the Univer-
sities Power Engineering Conference
(UPEC), 2012 47th International, pp. 1–6.
doi:10.1109/UPEC.2012.6398587
Sato, N., Tinney, W.F., 1963. Techniques for Exploi-
ting the Sparsity or the Network Admittance
Matrix. IEEE Trans. Power Appar. Syst. 82,
944–950. doi:10.1109/TPAS.1963.291477
Stone, J.E., Gohara, D., Guochun Shi, 2010. Ope-
nCL: A Parallel Programming Standard for
Heterogeneous Computing Systems. Com-
put. Sci. Eng. 12, 66–73.
doi:10.1109/MCSE.2010.69
Tinney, W.F., Brandwajn, V., Chan, S.M., 1985.
Sparse Vector Methods. IEEE Trans. Power
Appar. Syst. PAS-104, 295–301.
doi:10.1109/TPAS.1985.319043
Woodbury, M.A., 1950. Inverting modified matrices
(Memorandum No. 42). Princeton Univer-
sity, Princeton, N. J.
Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014
1937