13 research outputs found

    GP Representation Space Reduction Using a Tiered Search Scheme

    Get PDF
    The size and complexity of a GP representation space is defined by the set of functions and terminals used, the arity of those functions, and the maximal depth of candidate solution trees in the space. Practice has shown that some means to reduce the size or bias the search must be provided. Adaptable Constrained Genetic Programming (ACGP) can discover beneficial substructures and probabilistically bias the search to promote the use of these substructures. ACGP has two operating modes: a more efficient low granularity mode (1st order heuristics) and a less efficient higher granularity mode (2nd order heuristics). Both of these operating modes produce probabilistic models, or heuristics, that bias the search for the solution to the problem at hand. The higher granularity mode should produce better models and thus improve GP performance, but in reality it does not always happen. This research analyzes the two modes, identifies problems and circumstances where the higher granularity search should be advantageous but is not, and then proposes a new methodology that divides the ACGP search into two-tiers. The first tier search exploits the computational efficiency of 1st order ACGP and builds a low granularity probabilistic model. This initial model is then used to condition the higher granularity search. The combined search scheme results in better solution fitness scores and lower computational time compared to a standard GP application or either mode of ACGP alone

    Adaptable Constrained Genetic Programming: Extensions and Applications

    Get PDF
    An evolutionary algorithm applies evolution-based principles to problem solving. To solve a problem, the user defines the space of potential solutions, the representation space. Sample solutions are encoded in a chromosome-like structure. The algorithm maintains a population of such samples, which undergo simulated evolution by means of mutation, crossover, and survival of the fittest principles. Genetic Programming (GP) uses tree-like chromosomes, providing very rich representation suitable for many problems of interest. GP has been successfully applied to a number of practical problems such as learning Boolean functions and designing hardware circuits. To apply GP to a problem, the user needs to define the actual representation space, by defining the atomic functions and terminals labeling the actual trees. The sufficiency principle requires that the label set be sufficient to build the desired solution trees. The closure principle allows the labels to mix in any arity-consistent manner. To satisfy both principles, the user is often forced to provide a large label set, with ad hoc interpretations or penalties to deal with undesired local contexts. This unfortunately enlarges the actual representation space, and thus usually slows down the search. In the past few years, three different methodologies have been proposed to allow the user to alleviate the closure principle by providing means to define, and to process, constraints on mixing the labels in the trees. Last summer we proposed a new methodology to further alleviate the problem by discovering local heuristics for building quality solution trees. A pilot system was implemented last summer and tested throughout the year. This summer we have implemented a new revision, and produced a User's Manual so that the pilot system can be made available to other practitioners and researchers. We have also designed, and partly implemented, a larger system capable of dealing with much more powerful heuristics

    Novel approach for integrated biomass supply chain synthesis and optimisation

    Get PDF
    Despite looming energy crises, fossil resources are still widely used for energy and chemical production. Growing awareness of the environmental impact from fossil fuels has made sustainability one of the main focuses in research and development. Towards that end, biomass is identified as a promising renewable source of carbon that can potentially replace fossil resources in energy and chemical productions. Although many researches on converting biomass to value-added product have been done, biomass is still considered underutilised in the industry. This is mainly due to challenges in the logistic and processing network of biomass. An integrated biomass supply chain synthesis and optimisation are therefore important. Thus, the ultimate goal of this thesis is to develop a novel approach for an integrated biomass supply chain. Firstly, a multiple biomass corridor (MBC) concept is presented to integrate various biomass and processing technologies into existing biomass supply chain system in urban and developed regions. Based on this approach, a framework is developed for the synthesis of a more diversified and economical biomass supply chain system. The work is then extended to consider the centralisation and decentralisation of supply chain structure. In this manner, P-graph-aided decomposition approach (PADA) is proposed, whereby it divides the complex supply chain problem into two smaller sub-problems – the processing network is solved via mixed-integer linear programming (MILP) model, whereas the binaries-intensive logistic network configuration is determined through P-graph framework. As existing works often focus on supply chain synthesis in urban regions with well-developed infrastructure, resources integrated network (RIN) – a novel approach for the synthesis of integrated biomass supply chain in rural and remote regions is introduced to enhance rural economies. This approach incorporates multiple resources (i.e. bioresources, food commodities, rural communities’ daily needs) into the value chain and utilises inland water system as the mode of transport, making the system more economically feasible. It extends the MBC approach for technology selection and adopts vehicle routing problem (VRP) for inland water supply and delivery network. To evaluate the performance of the proposed integrated biomass supply chain system, a FANP-based (fuzzy analytical network process) sustainability assessment tool is established. A framework is proposed to derive sustainability index (SI) from pairwise comparison done by supply chain stakeholders to assess the sustainability of a system. Fuzzy limits are introduced to reduce uncertainties in human judgment while conducting the pairwise comparison. To design a sustainable integrated biomass supply chain, a FANP-aided, a novel multiple objectives optimisation framework is proposed. This approach transforms multiple objective functions into single objective function by prioritising each of the objective through the FANP framework. The multiple objectives are then normalised via max-min aggregation to ensure the trade-off between objectives is performed on the same scale. At the end of this thesis, viable future works of the whole programme is presented for consideration

    Large-Scale Optimisation in Operations Management: Algorithms and Applications

    Get PDF
    The main contributions of this dissertation are the design, development and application of optimisation methodology, models and algorithms for large-scale problems arising in Operations Management. The first chapter introduces constraint transformations and valid inequalities that enhance the performance of column generation and Lagrange relaxation. I establish theoretical connections with dual-space reduction techniques and develop a novel algorithm that combines Lagrange relaxation and column generation. This algorithm is embedded in a branch-and-price scheme, which combines large neighbourhood and local search to generate upper bounds. Computational experiments on capacitated lot sizing show significant improvements over existing methodologies. The second chapter introduces a Horizon-Decomposition approach that partitions the problem horizon in contiguous intervals. In this way, subproblems identical to the original problem but of smaller size are created. The size of the master problem and the subproblems are regulated via two scalar parameters, giving rise to a family of reformulations. I investigate the efficiency of alternative parameter configurations empirically. Computational experiments on capacitated lot sizing demonstrate superior performance against commercial solvers. Finally, extensions to generic mathematical programs are presented. The final chapter shows how large-scale optimisation methods can be applied to complex operational problems, and presents a modelling framework for scheduling the transhipment operations of the Noble Group, a global supply chain manager of energy products. I focus on coal operations, where coal is transported from mines to vessels using barges and floating cranes. Noble pay millions of dollars in penalties for delays, and for additional resources hired to minimize the impact of delays. A combination of column generation and dedicated heuristics reduces the cost of penalties and additional resources, and improves the efficiency of the operations. Noble currently use the developed framework, and report significant savings attributed to it

    Novel approach for integrated biomass supply chain synthesis and optimisation

    Get PDF
    Despite looming energy crises, fossil resources are still widely used for energy and chemical production. Growing awareness of the environmental impact from fossil fuels has made sustainability one of the main focuses in research and development. Towards that end, biomass is identified as a promising renewable source of carbon that can potentially replace fossil resources in energy and chemical productions. Although many researches on converting biomass to value-added product have been done, biomass is still considered underutilised in the industry. This is mainly due to challenges in the logistic and processing network of biomass. An integrated biomass supply chain synthesis and optimisation are therefore important. Thus, the ultimate goal of this thesis is to develop a novel approach for an integrated biomass supply chain. Firstly, a multiple biomass corridor (MBC) concept is presented to integrate various biomass and processing technologies into existing biomass supply chain system in urban and developed regions. Based on this approach, a framework is developed for the synthesis of a more diversified and economical biomass supply chain system. The work is then extended to consider the centralisation and decentralisation of supply chain structure. In this manner, P-graph-aided decomposition approach (PADA) is proposed, whereby it divides the complex supply chain problem into two smaller sub-problems – the processing network is solved via mixed-integer linear programming (MILP) model, whereas the binaries-intensive logistic network configuration is determined through P-graph framework. As existing works often focus on supply chain synthesis in urban regions with well-developed infrastructure, resources integrated network (RIN) – a novel approach for the synthesis of integrated biomass supply chain in rural and remote regions is introduced to enhance rural economies. This approach incorporates multiple resources (i.e. bioresources, food commodities, rural communities’ daily needs) into the value chain and utilises inland water system as the mode of transport, making the system more economically feasible. It extends the MBC approach for technology selection and adopts vehicle routing problem (VRP) for inland water supply and delivery network. To evaluate the performance of the proposed integrated biomass supply chain system, a FANP-based (fuzzy analytical network process) sustainability assessment tool is established. A framework is proposed to derive sustainability index (SI) from pairwise comparison done by supply chain stakeholders to assess the sustainability of a system. Fuzzy limits are introduced to reduce uncertainties in human judgment while conducting the pairwise comparison. To design a sustainable integrated biomass supply chain, a FANP-aided, a novel multiple objectives optimisation framework is proposed. This approach transforms multiple objective functions into single objective function by prioritising each of the objective through the FANP framework. The multiple objectives are then normalised via max-min aggregation to ensure the trade-off between objectives is performed on the same scale. At the end of this thesis, viable future works of the whole programme is presented for consideration

    Towards adaptive and autonomous humanoid robots: from vision to actions

    Get PDF
    Although robotics research has seen advances over the last decades robots are still not in widespread use outside industrial applications. Yet a range of proposed scenarios have robots working together, helping and coexisting with humans in daily life. In all these a clear need to deal with a more unstructured, changing environment arises. I herein present a system that aims to overcome the limitations of highly complex robotic systems, in terms of autonomy and adaptation. The main focus of research is to investigate the use of visual feedback for improving reaching and grasping capabilities of complex robots. To facilitate this a combined integration of computer vision and machine learning techniques is employed. From a robot vision point of view the combination of domain knowledge from both imaging processing and machine learning techniques, can expand the capabilities of robots. I present a novel framework called Cartesian Genetic Programming for Image Processing (CGP-IP). CGP-IP can be trained to detect objects in the incoming camera streams and successfully demonstrated on many different problem domains. The approach requires only a few training images (it was tested with 5 to 10 images per experiment) is fast, scalable and robust yet requires very small training sets. Additionally, it can generate human readable programs that can be further customized and tuned. While CGP-IP is a supervised-learning technique, I show an integration on the iCub, that allows for the autonomous learning of object detection and identification. Finally this dissertation includes two proof-of-concepts that integrate the motion and action sides. First, reactive reaching and grasping is shown. It allows the robot to avoid obstacles detected in the visual stream, while reaching for the intended target object. Furthermore the integration enables us to use the robot in non-static environments, i.e. the reaching is adapted on-the- fly from the visual feedback received, e.g. when an obstacle is moved into the trajectory. The second integration highlights the capabilities of these frameworks, by improving the visual detection by performing object manipulation actions

    Evolving comprehensible and scalable solvers using CGP for solving some real-world inspired problems

    Get PDF
    My original contribution to knowledge is the application of Cartesian Genetic Programming to design some scalable and human-understandable metaheuristics automatically; those find some suitable solutions for real-world NP-hard and discrete problems. This technique is thought to possess the ability to raise the generality of a problem-solving process, allowing some supervised machine learning tasks and being able to evolve non-deterministic algorithms. \\ Two extensions of Cartesian Genetic Programming are presented. Iterative My original contribution to knowledge is the application of Cartesian Genetic Programming to design some scalable and human-understandable metaheuristics automatically; those find some suitable solutions for real-world NP-hard and discrete problems. This technique is thought to possess the ability to raise the generality of a problem-solving process, allowing some supervised machine learning tasks and being able to evolve non-deterministic algorithms. \\ Two extensions of Cartesian Genetic Programming are presented. Iterative Cartesian Genetic Programming can encode loops and nested loop with their termination criteria, making susceptible to evolutionary modification the whole programming construct. This newly developed extension and its application to metaheuristics are demonstrated to discover effective solvers for NP-hard and discrete problems. This thesis also extends Cartesian Genetic Programming and Iterative Cartesian Genetic Programming to adapt a hyper-heuristic reproductive operator at the same time of exploring the automatic design space. It is demonstrated the exploration of an automated design space can be improved when specific types of active and non-active genes are mutated. \\ A series of rigorous empirical investigations demonstrate that lowering the comprehension barrier of automatically designed algorithms can help communicating and identifying an effective and ineffective pattern of primitives. The complete evolution of loops and nested loops without imposing a hard limit on the number of recursive calls is shown to broaden the automatic design space. Finally, it is argued the capability of a learning objective function to assess the scalable potential of a generated algorithm can be beneficial to a generative hyper-heuristic

    Analysis of Community Structure in a Young Internet Domain

    Get PDF
    In this work we analyse the community structure of the .cat top level Web domain. The .cat is a relatively young Web domain, opened up for registration in February 2006. It is administered by Fundació puntCat,1 a non-profit organization whose goals are to highlight the Catalan language and culture, but also include promoting its usage and encourage related research. Since early days, Fundació puntCat has been performing monthly crawls of the whole domain. This offers an interesting study case: the possibility of watching in detail the evolution of this domain during a long period of time

    Okvir za alokaciju softverskih komponenata na heterogenoj računalnoj platformi

    Get PDF
    A recent development of heterogeneous platforms (i.e. those containing different types of computing units such as multicore CPUs, GPUs, and FPGAs) has enabled significant improvements in performance of real-time data processing. However, due to increased development efforts for such platforms, they are not fully exploited. To use the full potential of such platforms, we need new frameworks and methods for capturing the optimal configuration of the software. Different configurations, i.e. allocations of software components to different computing unit types can be essential for getting the maximal utilization of the platform. For more complex systems it is difficult to find ad hoc, good enough or the best configuration.This research suggests the application of component based software engineering(CBSE) principles, by which it is possible to achieve the same functionality of software components across various computing units of different types, however with different extrafunctional properties (EFP). The objective of this research is to construct a framework which optimizes the allocation of software components on a heterogeneous computing platform with respect to specified extra-functional requirements.The I-IV allocation framework, proposed by this research, consist of formalisms necessary for modeling of a heterogeneous computing platform and exploring the designspace, which results with an optimal design decision. The I-IV allocation frameworkwas verified in two steps, focusing on two EFPs; the average power consumption andthe average execution time. The experimental platform was a tracked robot, developed for the purpose of this research. It contains a CPU, a GPU and an FPGA, along with 32software components deployable onto these units. Both steps resulted in a positive result confirming the claim that the I-IV framework, along with its Component allocation model M correctly represents the heterogeneous system performance, with consideration to multiple criteria.Usprkos tome da je u posljednjih nekoliko godina povećanje radnog takta središnje procesne jedinice (CPU) usporeno, ako ne i zaustavljeno, performanse suvremenih računala i dalje rastu, ali ne zbog radnog takta. To znaci da se i performanse racunalnih programa više na ovaj nacin ne mogu unaprijediti, čak što više, daljnje povečavanje radnogčtakta CPU-a pokazalo se neučinkovitim. Zbog toga, došlo je do suštinske promjene u građi procesora, odnosno to repliciranja procesnih jezgri te ugradbom dodatnih namjenskih procesnih jedinica koje su specijalizirane za određeni tip zadataka. Najcešce su to graficka procesna jedinica (GPU), programirljiva polja logickih blokova (FPGA), integrirani krugovi specificne namjene (ASIC), itd. Istovremeno, zajednica prepoznala je veliki istraživacki potencijal heterogenih racunalnih sustava, odnosno sustava sa mnoštvom procesnih jedinica razlicitog tipa, obzirom da omogućuju izuzetna poboljšanja performansi softvera.Mnogi se istraživaci već dulje vrijeme bave heterogenim racunalstvom, što znaci da to nije nova ideja, no u posljednjih nekoliko godina, zbog fizickih ogranicenja vezanih uz arhitekturu procesnih jedinica, heterogeno racunalstvo postaje sve popularnija istraživacka tema. Uz izuzetno povećanje procesne moći, heterogeno racunalstvo donosii mnogo izazova, prvenstveno za softverske inženjere. Naime, razvoj softvera za takve sustave vrlo je zahtjevan zbog primjerice, potrebe za rukovanjem sa više razlicitih tipova podataka ili programskih jezika unutar istog racunalnog programa, kompatibilnosti pojedinih procesnih jedinica i konverzije tipova podataka, potrebe za specijaliziranim bibliotekama koda, korištenja razlicitih struktura podataka kroz više arhitekturalni slojeva racunala i racunalnog programa, itd. Osim toga, obzirom na to da se heterogeni sustavi prvenstveno koriste kao elementi ugradbenih racunala u industriji, softverski inženjeri uz funkcionalne zahtjeve, dodatnu pozornost moraju dati nefunkcionalnim zahtjevima (EFP).Kako bi se upravljalo funkcionalnim i nefunkcionalnim zahtjevima softvera, u složenim heterogenim racunalnim sustavima,cesto se primjenjuju nacela komponentno orijentiranog softverskog inženjerstva (CBSE), koja su u softverskoj zajednici dobro poznata i dokazana. CBSE obuhvaća modele, metode i smjernice za softverske inženjere koji razvijaju sustave temeljene na komponentama, odnosno građevnim jedinicama koje komuniciraju putem ugovorno definiranih sucelja, koje se mogu samostalnougra divati i jednostavno zamjenjivati. Time, CBSE daje snažne temelje za prethodno spomenute vezane uz razvoj softvera namijenjenog za heterogene racunalne sustave.U tom kontekstu, CBSE omogućuje postizanje jednake funkcionalnosti komponenata softvera alociranih na (razlicite) procesne jedinice (razlicitog tipa), no sa drugacijimne-funkcionalnim svojstvima. To znaci da pojedine alokacije komponenata softveramogu biti više ili manje ucinkovite obzirom na scenarije njihove primjene, odnosnonjihove ulazne parametre, što za sobom povlaci i pitanje ukupnih performansi sustava. Prema tome, zadatak arhitekta softvera najprije je definirati svojstva najbolje alokacije obzirom na više kriterija, poput dostupnosti resurs, ne-funkcionalna svojstva i ogranicenja, a potom na konkretnoj heterogenoj racunalnoj platformi ucinkovito i pronaći takvu alokaciju.Temeljni cilj ovog istraživanja je konstruirati okvir za optimizaciju alokacije kompo- nenti softvera na heterogenoj racunalnoj platformi, koji uzimajući u obzir ogranicenja resursa dostupnih na racunalnim jedinicama (razlicitog tipa), specifikacije komponenata softvera i ogranicenja koja definira arhitekt sustava ucinkovito pronalazi najbolju alokaciju. Ova disertacija predlaže Alokacijski okvir I-IV sastavljen od formalnih elemenata koji omogućuju stvaranje modela heterogenog racunalnog sustava te pretraživanje prostora potencijalnih alokacija, te definira korake kojima se postiže optimalna arhitektura sustava. Kako u ovom slucaju prostor potencijalnih rješenja, odnosno alokacija eksponencijalno raste (uzmdostupnih racunalnih jedinica tendostupnih komponentisoftvera, prostor rješenja jemn), razvijen je i prototip alata koji automatizira Alokacijskiokvir I-IV, što je inace dugotrajan ili cak neizvediv proces. Za opis nefunkcionalnih svojstava heterogenih sustava, koristi se Model za alokaciju komponenata M. Taj model,primjenom težinske funkcije omogućuje kvantifikaciju pojedinih alokacija čime je omogućena njihova usporedba te procjena prikladnosti korištenja istih. Istovremeno,težinska funkcija daje uvid u performanse sustava u njegovoj ranoj fazi razvoja (cak prije nego su komponente razvijene).Vjerodostojnost Alokacijskog okvira I-IV provjerena je u dva koraka (eksperimenta),pri cemu je fokus bio na dva nefunkcionalna svojstva sustava: prosjecni elektricni učinak elektricne struje i prosjecno vrijeme izvođenja operacija softvera. Eksperimentalna platforma bila su robotska kolica sa heterogenim racunalnim sustavom sacinjenim odCPU-a, GPU-a te FPGA-a, zajedno sa tridesetak komponenata softvera koje je moguće alocirati na te racunalne jedinice.Prvi korak provjere odnosio se na provjeru tocnosti, odnosno procjenu prikladnosti težinske funkcije w da kvantificira performanse pojedine alokacije. Postupak je proveden primjenom šest razlicitih alokacija koje predstavljaju dva razlicita scenarija izvođenja.Odabrane alokacije, nakon što su kvantificirane težinskom funkcijom w, zapisane sutablicno i rangirane prema predviđenim performansama. Nakon toga, te iste alokacije su implementirane na stvarnom sustavu, ranije spomenutim robotskim kolicima. Iscrpnim mjerenje (u intervalu pouzdanosti od 95%), zabilježene su performanse alokacija i ponovno su rangirane u rang listu. Rezultat oba rangiranja bio je jednak,cime slijedi damodel za raspodjelu komponenata M, te njegova težinska funkcija w mogu korektno predvidjeti performanse pojedine alokacije u realnom sustavu. Ovakav ishod, doveo IV je do drugog koraka provjere koji se odnosi na scenarij(e) u kojem postoji izrazito veliki broj komponenti softvera te racunalnih jedinica,cime prostor potencijalnih rješenja postaje toliko velik pronalaženje najbolje alokacije metodom iscrpnog pretraživanja nije moguće ucinkovito provesti.Obzirom da trenutna implementacija Alokacijskog modela I-IV definira heuristicke metode za rješavanje navedenog problema, drugi korak provjere za cilj ima procijeniti sub-optimalno rješenje genetskog algoritma i metode simuliranog kaljenja. Uz heuristicke metode, generirane su i proizvoljne alokacije, jer u nekim slucajevima su takve alokacije podjednako dobre ili cak bolje od heuristickih metoda. U prvoj iteraciji, provjeravala se preciznost navedenih metoda, odnosno njihovo odstupanje od optimalne alokacije dane iscrpnim pretraživanje u prostoru do 512. Pokazalo se kako genetski algoritam daje najbolja rješenja, odnosno alokacije koje minimalno odstupaju od optimalnog rješenja. Nadalje, za prostore rješenja između 1020do3070 gdje iscrpno pretraživanje nije ucinkovito, usporedba je pokazala da obje heuristicke metode daju bolja suboptimalne alokacije od proizvoljno definiranih alokacija i to u najkraćem vremenu.Iako je statisticki vjerojatno, ni u jednom slucaju (u 55 ponavljanja, s povećavanjem prostora rješenja) nije zabilježeno da proizvoljno generirana alokacija daje bolje performanse od alokacije dobivene predloženim heuristickim metodama, cime je završila validacija predloženog okvira i svih njegovih elemenata

    Okvir za alokaciju softverskih komponenata na heterogenoj računalnoj platformi

    Get PDF
    A recent development of heterogeneous platforms (i.e. those containing different types of computing units such as multicore CPUs, GPUs, and FPGAs) has enabled significant improvements in performance of real-time data processing. However, due to increased development efforts for such platforms, they are not fully exploited. To use the full potential of such platforms, we need new frameworks and methods for capturing the optimal configuration of the software. Different configurations, i.e. allocations of software components to different computing unit types can be essential for getting the maximal utilization of the platform. For more complex systems it is difficult to find ad hoc, good enough or the best configuration.This research suggests the application of component based software engineering(CBSE) principles, by which it is possible to achieve the same functionality of software components across various computing units of different types, however with different extrafunctional properties (EFP). The objective of this research is to construct a framework which optimizes the allocation of software components on a heterogeneous computing platform with respect to specified extra-functional requirements.The I-IV allocation framework, proposed by this research, consist of formalisms necessary for modeling of a heterogeneous computing platform and exploring the designspace, which results with an optimal design decision. The I-IV allocation frameworkwas verified in two steps, focusing on two EFPs; the average power consumption andthe average execution time. The experimental platform was a tracked robot, developed for the purpose of this research. It contains a CPU, a GPU and an FPGA, along with 32software components deployable onto these units. Both steps resulted in a positive result confirming the claim that the I-IV framework, along with its Component allocation model M correctly represents the heterogeneous system performance, with consideration to multiple criteria.Usprkos tome da je u posljednjih nekoliko godina povećanje radnog takta središnje procesne jedinice (CPU) usporeno, ako ne i zaustavljeno, performanse suvremenih računala i dalje rastu, ali ne zbog radnog takta. To znaci da se i performanse racunalnih programa više na ovaj nacin ne mogu unaprijediti, čak što više, daljnje povečavanje radnogčtakta CPU-a pokazalo se neučinkovitim. Zbog toga, došlo je do suštinske promjene u građi procesora, odnosno to repliciranja procesnih jezgri te ugradbom dodatnih namjenskih procesnih jedinica koje su specijalizirane za određeni tip zadataka. Najcešce su to graficka procesna jedinica (GPU), programirljiva polja logickih blokova (FPGA), integrirani krugovi specificne namjene (ASIC), itd. Istovremeno, zajednica prepoznala je veliki istraživacki potencijal heterogenih racunalnih sustava, odnosno sustava sa mnoštvom procesnih jedinica razlicitog tipa, obzirom da omogućuju izuzetna poboljšanja performansi softvera.Mnogi se istraživaci već dulje vrijeme bave heterogenim racunalstvom, što znaci da to nije nova ideja, no u posljednjih nekoliko godina, zbog fizickih ogranicenja vezanih uz arhitekturu procesnih jedinica, heterogeno racunalstvo postaje sve popularnija istraživacka tema. Uz izuzetno povećanje procesne moći, heterogeno racunalstvo donosii mnogo izazova, prvenstveno za softverske inženjere. Naime, razvoj softvera za takve sustave vrlo je zahtjevan zbog primjerice, potrebe za rukovanjem sa više razlicitih tipova podataka ili programskih jezika unutar istog racunalnog programa, kompatibilnosti pojedinih procesnih jedinica i konverzije tipova podataka, potrebe za specijaliziranim bibliotekama koda, korištenja razlicitih struktura podataka kroz više arhitekturalni slojeva racunala i racunalnog programa, itd. Osim toga, obzirom na to da se heterogeni sustavi prvenstveno koriste kao elementi ugradbenih racunala u industriji, softverski inženjeri uz funkcionalne zahtjeve, dodatnu pozornost moraju dati nefunkcionalnim zahtjevima (EFP).Kako bi se upravljalo funkcionalnim i nefunkcionalnim zahtjevima softvera, u složenim heterogenim racunalnim sustavima,cesto se primjenjuju nacela komponentno orijentiranog softverskog inženjerstva (CBSE), koja su u softverskoj zajednici dobro poznata i dokazana. CBSE obuhvaća modele, metode i smjernice za softverske inženjere koji razvijaju sustave temeljene na komponentama, odnosno građevnim jedinicama koje komuniciraju putem ugovorno definiranih sucelja, koje se mogu samostalnougra divati i jednostavno zamjenjivati. Time, CBSE daje snažne temelje za prethodno spomenute vezane uz razvoj softvera namijenjenog za heterogene racunalne sustave.U tom kontekstu, CBSE omogućuje postizanje jednake funkcionalnosti komponenata softvera alociranih na (razlicite) procesne jedinice (razlicitog tipa), no sa drugacijimne-funkcionalnim svojstvima. To znaci da pojedine alokacije komponenata softveramogu biti više ili manje ucinkovite obzirom na scenarije njihove primjene, odnosnonjihove ulazne parametre, što za sobom povlaci i pitanje ukupnih performansi sustava. Prema tome, zadatak arhitekta softvera najprije je definirati svojstva najbolje alokacije obzirom na više kriterija, poput dostupnosti resurs, ne-funkcionalna svojstva i ogranicenja, a potom na konkretnoj heterogenoj racunalnoj platformi ucinkovito i pronaći takvu alokaciju.Temeljni cilj ovog istraživanja je konstruirati okvir za optimizaciju alokacije kompo- nenti softvera na heterogenoj racunalnoj platformi, koji uzimajući u obzir ogranicenja resursa dostupnih na racunalnim jedinicama (razlicitog tipa), specifikacije komponenata softvera i ogranicenja koja definira arhitekt sustava ucinkovito pronalazi najbolju alokaciju. Ova disertacija predlaže Alokacijski okvir I-IV sastavljen od formalnih elemenata koji omogućuju stvaranje modela heterogenog racunalnog sustava te pretraživanje prostora potencijalnih alokacija, te definira korake kojima se postiže optimalna arhitektura sustava. Kako u ovom slucaju prostor potencijalnih rješenja, odnosno alokacija eksponencijalno raste (uzmdostupnih racunalnih jedinica tendostupnih komponentisoftvera, prostor rješenja jemn), razvijen je i prototip alata koji automatizira Alokacijskiokvir I-IV, što je inace dugotrajan ili cak neizvediv proces. Za opis nefunkcionalnih svojstava heterogenih sustava, koristi se Model za alokaciju komponenata M. Taj model,primjenom težinske funkcije omogućuje kvantifikaciju pojedinih alokacija čime je omogućena njihova usporedba te procjena prikladnosti korištenja istih. Istovremeno,težinska funkcija daje uvid u performanse sustava u njegovoj ranoj fazi razvoja (cak prije nego su komponente razvijene).Vjerodostojnost Alokacijskog okvira I-IV provjerena je u dva koraka (eksperimenta),pri cemu je fokus bio na dva nefunkcionalna svojstva sustava: prosjecni elektricni učinak elektricne struje i prosjecno vrijeme izvođenja operacija softvera. Eksperimentalna platforma bila su robotska kolica sa heterogenim racunalnim sustavom sacinjenim odCPU-a, GPU-a te FPGA-a, zajedno sa tridesetak komponenata softvera koje je moguće alocirati na te racunalne jedinice.Prvi korak provjere odnosio se na provjeru tocnosti, odnosno procjenu prikladnosti težinske funkcije w da kvantificira performanse pojedine alokacije. Postupak je proveden primjenom šest razlicitih alokacija koje predstavljaju dva razlicita scenarija izvođenja.Odabrane alokacije, nakon što su kvantificirane težinskom funkcijom w, zapisane sutablicno i rangirane prema predviđenim performansama. Nakon toga, te iste alokacije su implementirane na stvarnom sustavu, ranije spomenutim robotskim kolicima. Iscrpnim mjerenje (u intervalu pouzdanosti od 95%), zabilježene su performanse alokacija i ponovno su rangirane u rang listu. Rezultat oba rangiranja bio je jednak,cime slijedi damodel za raspodjelu komponenata M, te njegova težinska funkcija w mogu korektno predvidjeti performanse pojedine alokacije u realnom sustavu. Ovakav ishod, doveo IV je do drugog koraka provjere koji se odnosi na scenarij(e) u kojem postoji izrazito veliki broj komponenti softvera te racunalnih jedinica,cime prostor potencijalnih rješenja postaje toliko velik pronalaženje najbolje alokacije metodom iscrpnog pretraživanja nije moguće ucinkovito provesti.Obzirom da trenutna implementacija Alokacijskog modela I-IV definira heuristicke metode za rješavanje navedenog problema, drugi korak provjere za cilj ima procijeniti sub-optimalno rješenje genetskog algoritma i metode simuliranog kaljenja. Uz heuristicke metode, generirane su i proizvoljne alokacije, jer u nekim slucajevima su takve alokacije podjednako dobre ili cak bolje od heuristickih metoda. U prvoj iteraciji, provjeravala se preciznost navedenih metoda, odnosno njihovo odstupanje od optimalne alokacije dane iscrpnim pretraživanje u prostoru do 512. Pokazalo se kako genetski algoritam daje najbolja rješenja, odnosno alokacije koje minimalno odstupaju od optimalnog rješenja. Nadalje, za prostore rješenja između 1020do3070 gdje iscrpno pretraživanje nije ucinkovito, usporedba je pokazala da obje heuristicke metode daju bolja suboptimalne alokacije od proizvoljno definiranih alokacija i to u najkraćem vremenu.Iako je statisticki vjerojatno, ni u jednom slucaju (u 55 ponavljanja, s povećavanjem prostora rješenja) nije zabilježeno da proizvoljno generirana alokacija daje bolje performanse od alokacije dobivene predloženim heuristickim metodama, cime je završila validacija predloženog okvira i svih njegovih elemenata
    corecore