• Nie Znaleziono Wyników

7. Podsumowanie i wnioski

7.2. Kierunki dalszych badań

Zaprezentowany w pracy model stanowi zwięzłą reprezentację programu i maszyny umożliwiając oszacowanie przewidywanego czasu realizacji programu. W miarę komplikacji stosowanych aplikacji i maszyn cyfrowych można oczekiwać powstawania coraz bardziej złożonych modeli umożliwiających dokładniejszy opis zachodzących zjawisk. W związku ze wzrostem wydajności obliczeń i udoskonaleniami architektury współ-czesnych procesorów obserwuje się odchodzenie od opisu szybkości realizacji poszczególnych instrukcji na rzecz statystycznych miar efektywności systemu. Szybkość przetwarzania danych lokalnych zdecydowanie przewyższa szybkość przesyłania informacji do sąsiednich jednostek obliczeniowych, popularność zyskują więc modele współbieżności o stosunkowo luźnej synchronizacji procesów. Proces wykonywania aplikacji rozpatrywany jest jako realizacja powiązanych, większych bloków (np. BSP), a nie pojedynczych instrukcji (np. PRAM).

Określenie właściwości statystycznych maszyny na podstawie jej budowy

Jednym z poważniejszych wyzwań występujących przy stosowaniu przedstawionej w pracy metody (lub podobnych) jest konieczność określenia statystycznych parametrów maszyny i systemu operacyjnego. Dla każdego współczesnego systemu istnieje jego opis (w formacie Hardware Description Language) mogący posłużyć do automatycznego opracowania rozkładu losowego szybkości realizacji programów przez dany komputer. Na szczególną uwagę zasługują opisy na poziomie behawioralnym, gdyż niższy poziom jest zbyt złożony. Interesującym przedmiotem badań będzie stworzenie i zbadanie metod pozwalających na określenie właściwości procesora na podstawie jego opisu. Przydatne mogą okazać się zarówno metody w pełni analityczne, jak też bazujące całkowicie lub częściowo na metodzie Monte-Carlo.

Określenie właściwości statystycznych aplikacji podczas jej kompilacji

Współczesne kompilatory w celu optymalizacji kodu przeprowadzają złożoną analizę programu poddawa-nego tłumaczeniu. Wydaje się możliwe wykorzystanie tych mechanizmów w celu uzyskania statystyczpoddawa-nego obrazu realizacji programu. W szczególności należałoby zwrócić uwagę na automatyczne określanie prawdopodobieństw skoków. Prawdopodobieństwa te stanowią kluczowy element opisu grafu prezentowanego w pracy.

Dynamiczne powiązanie współpracujących procesów

Prezentowana w pracy metoda analizy grafu programu wymaga, aby synchronizacja pomiędzy procesami była statycznie zdefiniowana w momencie startu aplikacji. Założenie to prosto spełnić dla programów prowadzących obliczenia matematyczne w systemie wieloprocesorowym. Dużo trudniej wymusić statyczną synchronizację komputerów pracujących w sieci rozległej. Rozwijający się w szalonym tempie sektor usług internetowych bazuje na współpracy komputerów w warunkach ciągłej rekonfiguracji struktury połączeń, obciążeń systemów, dostępności zasobów. Ciekawym wyzwaniem będzie opracowanie metody analizy uwzględniającej dynamiczną zmianę „partnerów” oraz ilości instrukcji synchronizacyjnych, przy zachowaniu akceptowalnej złożoności modelu.

Probabilistyczny charakter synchronizacji współczesnych aplikacji

W pracy założono, że synchronizacja poszczególnych procesów jest zjawiskiem pewnym. We współczes-nych aplikacjach rozproszowspółczes-nych założenie to jest jednak coraz trudniejsze do spełnienia. Wiele aplikacji musi działać przy występujących okresowo zanikach łączności. Komunikacja i synchronizacja staje się więc zjawis-kiem losowym. Zarówno dla dużych systemów (np. rezerwacja biletów) jak i małych (np. sieci ZigBee) kluczowe jest działanie w warunkach dynamicznej rekonfiguracji połączeń. Osłabienie kluczowego w pracy założenia o pewnej synchronizacji poszerzyłoby zakres stosowania prezentowanej metody.

Zastąpienie sieci PERT grafem cyklicznym

W pracy zaproponowano, przekształcenie złożonego grafu przepływu sterowania programu w acykliczny graf PERT godząc się na niezbędne, związane z tym uproszczenia. Wadą takiego rozwiązania jest konieczność acyklizacji pętli, co powoduje wzrost wielkości grafu. Występuje też problem w rozwijaniu „dużych” pętli – zawierających w sobie procedury komunikacji i synchronizacji. Interesujące byłoby opracowanie metody umożliwiającej wykorzystanie cennych właściwości sieci PERT przy połączeniu ich z modelem zapewniającym efektywniejszą reprezentację pętli.

8. Bibliografia

[Abd03] – Abdelkader Y. H. – Erlang distributed activity times in stochastic activity networks – Kybernetika, 2003, Vol.39, No 3, str. 347-258.

[Abd04] – Abdelkader Y. H. – Evaluating project completion times when activity times are Weibull distributed – European Journal of Operational Research, 2004, Vol. 157, No 3, Sept., str. 704-715.

[Ajm95] – Ajmone M., Balbo G., Conte G. – Modelling with generalised stochastic Petri nets – Willey & Sons, 1995.

[Alp97] – Alpan G., Jafari M. – Dynamic Analysis of Timed Petri Nets: A Case of Two Processes and a Shared Resource – IEEE Trans. On Robotics and Automation 1997, str. 338-346.

[Amm85] – Analysis of the generalized stochastic Petri nets by state aggregation – Proc. Int. Workshop on timed Petri Nets, str. 88-95, IEEE Computer Soc. Press 1985.

[Ave85] – Aven T. – Upper (lower) bounds on the mean of the maximum (minimum) of a number of random variables – J. Appl. Prob. Vol. 22 1985, str. 723-728.

[Bal95] – Baldoni R., Raynal M., - A graph based characterization of communication modes in distributed executions – Journal of Foundations of Computing and Decision Sciences 25(1) 1995 str. 3-12. [Bau96] – Bause F., Kritzinger P. – Stochastic Petri Nets – an introduction to the theory – Vieweg Publ.

1996.

[Ben89] – Ben-Ari M. – Podstawy programowania współbieżnego – Warszawa 1989.

[Bra86] – Brauer W., Reisig W., Rozenberg G. – Petri nets: Applications and relationships to other models of concurrency – Advances in Petri Nets 1986.

[Bie01] – Biernat J. – Architektura Komputerów – Oficyna Wyd. Politechniki Wrocławskiej – Wrocław 2001.

[Bre94] – Bremaud P. – An Introduction to Probabilistic Modeling – Springer-Verlag 1994.

[Buc95] – Buchholtz P. – Hierarchical Markovian models: symmetries and reduction – Performance Evaluation, vol. 22, no. 1, 1995 str. 93-110.

[Buc97] – Buchholtz P. – Hierarchical structuring of superposed GSPNs – Proc. 7-th Int. Workshop on Petri Net and Performance Models str. 166-181, St Malo 1997.

[Car88] – Carller J., Chretlenne P. – Timed Petri Net Schedules – Advances in Petri nets 1988, str. 62-84. [Cin81] – De Cindio F., De Michelis G., Pomello L., Simone C. – A Petri Net Model for CSP – Proc. CIL

’81 str. 392-406, Barcellona 1981.

[Col98] – Colouris G., Dollimore J., Kindberg T. – Systemy rozproszone, podstawy i projektowanie. – WNT 1998 Warszawa.

[Coo83] – Coolahan J., Roussopoulos N.– Timing requirements for time-driven systems using augmented Petri nets – IEE Trans. Soft. Eng. 5/1983 str. 603-616.

[Dav04] – David L., Punaut I., – Static Determination of Probabilistic Execution Times – Proceeding of 16th Euromicro Conference on Real Time Systems str. 223-230 – Catania 2004– IEEE 2004 [Deg88] – Degano P., Gorrieri R., Marchetti S. - A CSP process as a Condition/Event System - Advances

[Dod84] – Dodin B. – Determining k most critical paths in PERT networks – Oper. Res. 32, str. 859877 -1984.

[Dod85] – Dodin B. – Approximating the distribution functions in stochastic networks – Computers & Oper. Res. 12, str 251-264 - 1985.

[Dod85a] – Dodin B. – Bounding the project completion time distribution in PERT networks – Oper. Res. 33, str. 862-881, 1985.

[Elm89] – Elmaghraby S. – The estimation of some network parameters in the PERT model of activity networks: review and critique – Adv. in Project Scheduling , Chapter 1, Elsevier 1989.

[Fis83] – Fisher D., Goldstein W. – Stochastic PERT networks as models of cognition: derivation of the mean, variance and distribution of the reaction time using order of processing diagram – Computers & Oper. Res. 1983.

[Fis85] – Fisher D., Goldstein W. – Stochastic PERT networks: OP diagrams, critical paths and the project completion time – Computers & Oper. Res. 12, str. 811-815, 1985.

[Fly95] – Flynn M. – Computer Architecture: Pipelined and Parallel Processor Design – Jones and Bartlett Publishers, 1995.

[Gaj96] – Gajek L. – Wnioskowanie statystyczne: Modele i metody – WNT 1996.

[Ger96] – Gerbessiotis A., Siniolakis C. – Communication efficient data structures on the BSP model with applications” – Oxford Univ. Technical Report, PRG-TR-13-96 May 1996.

[Ger01] – German R. – Performance Analysis of Communication Systems – Modeling with Non-Markovian Stochastic Petri Nets – Willey 2001.

[Hoa78] – Hoare C. A. R.: Communicating Sequential Processes – Communication of the ACM, 21(8), 1978.

[Ive99] – Iverson, M. A., Ozguner, F., Potter, L.C. – Statistical prediction of task execution times through analytic benchmarking for scheduling in a heterogeneous environment – Heterogeneous Computing Workshop, 1999. (HCW '99) Proceedings. Eighth 12 April 1999 str. 99 - 111.

[Jar87] – Jarnicki J., Magott J. – Hierarchic performance evaluation of concurent programming using Petri nets – Proc. 4th Int. Conf. Relcomex 87, Książ Poland.

[Joh72] – Johnson N. – Distributions in statistics – John Willey and Sons 1972.

[Kam85] – Kamburowski J. – Bounds in temporal analysis of stochastic networks – Found. Contr. Eng. 1985 vol. 10 nr 4 str. 177-189.

[Kam85a] – Kamburowski J. – Normally distributed activity durations in PERT networks – J. Oper. Res. Soc. 1985 vol. 36 str. 1051-1057.

[Kam85b] – Kamburowski J. – Two point approximations for activity times in PERT network – RAIRO Rech. Oper. 1985 vol. 19 nr 3 str. 301-313.

[Kam85c] – Kamburowski J. – An upper bound on the expected completion time of PERT networks – Eur. J. Oper. Res. 1985 vol. 21 nr 2 str 206-212.

[Kam86] – Kamburowski J. – Bounds on the mean of the maximum of a number of normal random variables – Wydawnictwo PWr, Raporty instytutu Org. 1986.

[Kam87] – Kamburowski J. – Drogi i przepływy ekstremalne w sieciach stochastycznych – Wydawnictwo PWr 1987.

[Kam92] – Kamburowski J. Bein W. Stallmann M. – Optimal Reduction of Two-Terminal Directed Acyclic Graphs – SIAM Jour. on Computing 21, 1992, str. 1112-1129.

[Lin98] – Lindemann C – Performance modelling with deterministic and stochastic Petri nets – Willey & Sons 1998

[Lin99] – Lindemann C, Thummler A – Transient Analysis of Deterministic and Stochastic Petri Nets with Concurent Deterministic Transitions – Performance Evaluation, Vol. 36&37, str. 35-54 1999. [Mag84] – Magott J. – New NP–complete problems in performance evaluation of concurrent systems using

Petri nets – IEEE transactions on Soft. Eng 1987 Vol 13 str. 578-581.

[Mag89] – Magott J. – Sieci Petriego w ocenie wydajności systemów komputerowych – Wydawnictwo Politechniki Wr. 1989.

[Mag89a] – Magott J., Skudlarski K. – Combining generalised stochastic Petri nets and PERT networks for the performance evaluation of concurrent processes – Proc. Third Int. Workshop on Petri Nets and Performance Models, str. 249-256, Kyoto Japan Dec 1989.

[Mag91] – Magott J. – Złożność obliczeniowa algorytmów i probelmów czasu cyklu dla systemów procesów sekwencyjnych z wzajemnym wykluczaniem – Arch. Autom. Robot. 1991 t.36 z. 1. [Mag92] – Magott J. – Performance evaluation of communicating sequential processes /CSP/ using Petri

nets – IEE Proc. E 1992 vol. 139 nr 3 str. 237-241.

[Mag93] – Magott J., Skundlarski K. – Estimating the mean completion time of PERT networks with exponentially distributed durations of activities – Eur. Jou. of Oper. Res. 71 (1993) str. 70-79. [Mcc93] – McColl W. – An architecture independent programming language for scalable parallel

computing – Tech. Rep. 93-072-3-9025-1, NEC Research Institute 1993.

[Mcc94] – McColl W. – Scalable Parallel Computing: A grand unified theory and its practical development – Proc of IFIP World Congress, str. 539-546, Hamburg 1994.

[Mol82] – Molloy M. – Performance analysis using stochastic Petri nets – IEEE Trans. Comput. 9/1982 str. 913-917.

[MPI95] – MPI Forum – MPI: A message Passing Interface Standard – 1995.

[Mur80] – Murata T. – Synthesis of decision-free concurrent systems for prescribed resources and performance – IEEE Trans. Soft. Eng. 6/1980 str. 525-530.

[Nol00] – Thomas Nolte T. Möller A. Nolin M. – Using Components to Facilitate Stochastic Schedulability Analysis – Proceedings of the WIP session Real Time Systems Symposium str. 7-10 – Cancun 2003 Mexico.

[Now00] – Noworyta W. – Kształt rozkładu losowego czasu realizacji programu: Systemy czasu rzeczywistego – Kraków 2000.

[Now04] – Noworyta W. – Probability Distribution Function of Time between Interrupt Requests – Proceeding of 16th Euromicro Conference on Real Time Systems (Work in Progress session) – IEEE 2004.

[Now04a] – Noworyta W. – Distribution of Time Interval between Successive Interrupt Requests – IFIP 18th World Computer Congress – DIPES 2004 str. 53-62 – Tuluza – Kulwer 2004.

[Old87] – Olderog E. – Operational Petri Net Semantics for CCSP – Advances in Petri Nets 1997 str. 196-223.

[Pet02] – Peters S. M. – How much Worst Case is Needed in WCET Estimation? – 2nd Intl Workshop on Worst-Case Execution Time Analysis, Technical University of Vienna, Austria 2002

[Ram80] – Ramamoorthy C., Ho G. – Performance evaluation of asynchronous concurrent systems using Petri nets – IEEE Trans. Soft. Eng. 5/1980 str. 440-449.

[Sch94] – Schwartz R., Mattern F. – Detecting casual relationships in distributed computations – Distributed Computing 7(3) 1994 str. 149-174.

[Sif80] – Sifakis J., Brauer W. – Net theory and Applications – Lecture Notes in Computer Science – Springer 1980

[Tan95] – Tanenbaum A. – Distributed Operating Systems – Prentice-Hall 1995.

[Val90] – Valiant L. – A bridging model of parallel computation – Communications of the ACM 33(8) str. 103-111, 1990.

[Vin98] – Vinitotis Y. – Probability and Random Processes for Electrical Engineers – McGraw-Hill 1998. [Wan98] – Wang J. – Timed Petri Nets – Kluwer Academic Publ. 1998.

[Xu02] – Xu C-Z. Wang L.Y. Fong N-T. – Stochastic Prediction of Execution Time for Dynamic Bulk Synchronous Computations – The Journal of Supercomputing, January 2002, vol. 21, no. 1, str. 91-103(13).

[Zam80] – Zamojski W. – Modele niezawodnościowo-funkcjonalne systemów cyfrowych ze szczególnym uwzględnieniem systemów jednoprocesorowych – Wydawnictwo Politechniki Wroc. 1980.

9. Dodatek A - Pomiar niezależności czasu realizacji bloku