• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 2
  • 2
  • Tagged with
  • 4
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Improvement of interconnection networks for clusters: direct-indirect hybrid topology and HoL-blocking reduction routing

Peñaranda Cebrián, Roberto 03 March 2018 (has links)
Tesis por compendio / Nowadays, clusters of computers are used to solve computation intensive problems. These clusters take advantage of a large number of computing nodes to provide a high degree of parallelization. Interconnection networks are used to connect all these computing nodes. The interconnection network should be able to efficiently handle the traffic generated by this large number of nodes. Interconnection networks have different design parameters that define the behavior of the network. Two of them are the topology and the routing algorithm. The topology of a interconnection network defines how the different network elements are connected, while the routing algorithm determines the path that a packet must take from the source to the destination node. The most commonly used topologies typically follow a regular structure and can be classified into direct and indirect topologies, depending on how the different network elements are interconnected. On the other hand, routing algorithms can also be classified into two categories: deterministic and adaptive algorithms. To evaluate interconnection networks, metrics such as latency or network productivity are often used. Throughput refers to the traffic that the network is capable of accepting the network per time unit. On the other hand, latency is the time that a packet requires to reach its destination. This time can be divided into two parts. The first part is the time taken by the packet to reach its destination in the absence of network traffic. The second part is due to network congestion created by existing traffic. One of the effects of congestion is the so-called Head-of-Line blocking, where the packet at the head of a queue blocks, causing the remaining queued packets can not advance, although they could advance if they were at the head of the queue. Nowadays, there are other important factors to consider when interconnection networks are designed, such as cost and fault tolerance. On the one hand, a high performance is desirable, but without a disproportionate increase in cost. On the other hand, the fact of increasing the size of the network implies an increase in the network components, thus the probability of occurrence of a failure is higher. For this reason, having some fault tolerance mechanism is vital in current interconnection networks of large machines. Putting all in a nutshell, a good performance-cost ratio is required in the network, with a high level of fault-tolerance. This thesis focuses on two main objectives. The first objective is to combine the advantages of the direct and indirect topologies to create a new family of topologies with the best of both worlds. The main goal is the design of the new family of topologies capable of interconnecting a large number of nodes being able to get very good performance with a low cost hardware. The family of topologies proposed, that will be referred to as k-ary n-direct s-indirect, has a n dimensional structure where the k different nodes of a given dimension are interconnected by a small indirect topology of s stages. We will also focus on designing a deterministic and an adaptive routing algorithm for the family of topologies proposed. Finally we will focus on analyzing the fault tolerance in the proposed family of topologies. For this, the existing fault tolerance mechanism for similar topologies will be studied and a mechanism able to exploit the features of this new family will be designed. The second objective is to develop routing algorithms specially deigned to reduce the pernicious effect of Head-of-Line blocking, which may shoot up in systems with a high number of computing nodes. To avoid this effect, routing algorithms able of efficiently classifying the packets in the different available virtual channels are designed, thus preventing that the occurrence of a hot node (Hot-Spot) could saturate the network and affect the remaining network traffic. / Hoy en día, los clústers de computadores son usados para solucionar grandes problemas. Estos clústers aprovechan la gran cantidad de nodos de computación para ofrecer un alto grado de paralelización. Para conectar todos estos nodos de computación, se utilizan redes de interconexión de altas prestaciones capaces de manejar de forma eficiente el tráfico generado. Estas redes tienen diferentes parámetros de diseño que definen su comportamiento, de los cuales podríamos destacar dos: la topología y el algoritmo de encaminamiento. La topología de una red de interconexión define como se conectan sus componentes, mientras que el algoritmo de encaminamiento determina la ruta que un paquete debe tomar desde su origen hasta su destino. Las topologías más utilizadas suelen seguir una estructura regular y pueden ser clasificadas en directas e indirectas, dependiendo de cómo estén interconectados los diferentes elementos de la red. Por otro lado, los algoritmos de encaminamiento también pueden clasificarse en dos categorías: deterministas y adaptativos. Para evaluar estas redes se suelen utilizar medidas tales como la latencia o la productividad de la red. La productividad mide el tráfico que es capaz de aceptar la red por unidad de tiempo. La latencia mide el tiempo que utiliza un paquete para alcanzar su destino. Este tiempo se puede dividir en dos partes. La primera corresponde al tiempo utilizado por el paquete en alcanzar a su destino en ausencia de tráfico en la red. La segunda sería la debida a la congestión de la red creada por el tráfico existente. Uno de los efectos de la congestión es el denominado Head-of-Line blocking, donde el paquete que encabeza una cola se queda bloqueado, por lo que el resto de paquetes de la cola no pueden avanzar, aunque pudieran hacerlo si ellos encabezaran dicha cola. Otros factores a tomar en cuenta son el coste y la tolerancia a fallos. Las prestaciones deben mantenerse conforme aumentamos el tamaño de la red, pero sin un aumento prohibitivo en el coste. Además, el hecho de aumentar el tamaño de la red implica un aumento en el número de elementos de dicha red, aumentando la probabilidad de la aparición de un fallo. Por ello, es vital contar con algún mecanismo de tolerancia a fallos en las redes para los grandes supercomputadores actuales. En otras palabras, es de esperar una buena relación coste-prestaciones con un alto nivel de tolerancia a fallos. Esta tesis tiene dos objetivos principales. El primer objetivo combina las ventajas de las topologías directas e indirectas para crear una nueva familia de topologías con lo mejor de ambas. En concreto, nos centramos en el diseño de una nueva familia de topologías capaz de interconectar una gran cantidad de nodos siendo capaz de obtener muy buenas prestaciones con un bajo coste hardware. La familia de topologías propuesta, que hemos llamado k-ary n-direct s-indirect, tiene una estructura n-dimensional, donde los diferentes k nodos de una dimensión se conectan entre sí mediante una pequeña topología indirecta con s etapas. También diseñaremos un algoritmo de encaminamiento determinista y otro adaptativo para la familia de topologías propuesta. Finalmente, nos centraremos en estudiar la tolerancia a fallos para la familia de topologías propuesta. Para ello se estudiarán los mecanismos de tolerancia a fallos existentes en topologías similares y se diseñará un mecanismo capaz de aprovechar al máximo las características de esta nueva familia. El segundo objetivo consiste en el desarrollo de algoritmos de encaminamiento capaces de evitar el pernicioso efecto Head-of-Line blocking, lo cual puede aumentar rápidamente en sistemas con un gran número de nodos de computación. Para evitar este efecto se diseñarán algoritmos de encaminamiento capaces de clasificar de forma eficiente los paquetes en los diferentes canales virtuales disponibles, evitando así que la aparición de un punto caliente (Hot-Spot) sat / Hui en dia, els clústers de computadors són utilitzats per solucionar grans problemes computacionals. Aquests clústers aprofiten la gran quantitat de nodes de computació per a oferir un alt grau de paral·lelització. Per a connectar tots aquests nodes de computació, s'utilitzen xarxes d'interconnexió d'altes prestacions capaços de manejar de manera eficient el trànsit generat. Aquestes xarxes tenen diferents paràmetres de disseny que defineixen el seu comportament, dels quals podríem destacar dues: la topologia i l'algoritme d'encaminament. La topologia d'una xarxa d'interconnexió ens defineix com es connecten els seus components, mentre que l'algoritme d'encaminament determina la ruta que un paquet ha de prendre des del seu node origen fins al seu node destí. Les topologies més utilitzades solen seguir una estructura regular i poden ser classificades en directes i indirectes, depenent de com estiguen interconnectats els diferents elements de la xarxa. D'altra banda, els algoritmes d'encaminament també poden classificar-se en dues categories: deterministes i adaptatius. Per avaluar estes xarxes es solen utilitzar mesures com ara la latència o la productivitat de la xarxa. La productivitat mesura el trànsit que és capaç d'acceptar la xarxa per unitat de temps. La latència mesura el temps que utilitza un paquet per arribar al seu destí. Aquest temps es pot dividir en dues parts. La primera correspon al temps emprat pel paquet a aconseguir al seu destí en absència de trànsit a la xarxa. La segona part seria la deguda a la congestió de la xarxa creada per el trànsit existent. Un dels efectes de la congestió és l'anomenat Head-of-line blocking, on el paquet que encapçala una cua es queda bloquejat, de manera que la resta de paquets de la cua no poden avançar, encara que poguessen fer-ho si ells encapçalessen la dita cua. Altres factors a tenir en compte són el cost i la tolerància a fallades. Per tant, les prestacions s'han de mantenir d'acord augmentem la mida de la xarxa, però sense un augment prohibitiu en el cost. A més, el fet d'augmentar la mida de la xarxa implica un augment en el número de elements d'aquesta xarxa, de manera que la probabilitat de l'aparició d'una fallada és més gran. Per això, és vital comptar amb algun mecanisme de tolerància a fallades en les xarxes d'interconnexió per als gran supercomputadors actuals. En altres paraules, és d'esperar bona relació cost-prestacions amb una alta tolerància a fallades. Aquesta tesi té dos objectius principals. El primer objectiu combina les avantatges de les topologies directes i indirectes per a crear una nova família de topologies amb el millor dels dos mons. En concret, ens centrem en el disseny de una nova família de topologies capaç d'interconnectar una gran quantitat de nodes sent capaç d'obtenir molt bones prestacions amb un baix cost hardware. La família de topologies proposada, que hem nomenat k-ary n-direct s-indirect, té una estructura n-dimensional, on els diferents k nodes d'una dimensió se connecten entre si mitjançant una petita topologia indirecta amb s etapes. També dissenyarem un algoritme d'encaminament determinista i un altre adaptatiu per a la família de topologies proposta. Finalment, ens centrarem en estudiar la tolerància a fallades per a la família de topologies proposada. Per a això s'estudiaran els mecanismes de tolerància a fallades existents en topologies similars i es dissenyarà un mecanisme capaç d'aprofitar al màxim les característiques d'aquesta nova família. El segon objectiu consisteix en la creació d'algoritmes d'encaminament capaços d'evitar el perniciós efecte Head-of-line blocking que pot créixer ràpidament amb un gran número de nodes de computació. Per a evitar aquest efecte es dissenyaran algoritmes d'encaminament capaços de classificar de forma eficient els paquets en els diferents canals virtuals disponibles, evitant així que l'aparició d'un punt calent ( / Peñaranda Cebrián, R. (2017). Improvement of interconnection networks for clusters: direct-indirect hybrid topology and HoL-blocking reduction routing [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/79550 / Compendio
2

High Performance and Power Efficient On-Chip Network Designs through Multiple Injection Ports

Camacho Villanueva, Jesús 26 December 2012 (has links)
Las redes dentro de un chip se están convirtiendo en el elemento principal de los sistemas multiprocesador. A medida que aumenta la escala de integración, más elementos de cómputo (procesadores) se incluyen en el mismo chip. Estos componentes se interconectan con una red dentro del chip que debe ofrecer latencias de transmisión ultra bajas (orden de nanosegundos) y anchos de banda elevados. El diseño, pues, de una red eficiente dentro del chip juega un papel fundamental. En la presente tesis se analizan diferentes alternativas de diseño de las redes en el chip. En particular, se hace uso de la posibilidad de utilizar diferentes puertos de inyección desde los procesadores con el fin de obtener diferentes mejoras. En primer lugar, las prestaciones aumentan al tener procesadores con distintas alternativas de inyección de tráfico. En segundo lugar, además aumenta la tolerancia a fallos frente a defectos de fabricación (mas importantes conforme avanza la tecnología). Y en tercer lugar, permite una política de apagado de componentes más agresiva que nos permita un ahorro significativo de energía. Hemos evaluado diferentes topologías derivadas del mecanismo de inyección en términos de prestaciones, coste de implementación, y ahorro de consumo. Además, hemos desarrollado simuladores específicos para las distintas técnicas utilizadas. Cada topología diseñada supone una mejora respecto a la anterior, y por supuesto, teniendo en cuenta las topologías existentes. En resumen, nuestro esfuerzo se centra en conseguir un excelente compromiso entre prestaciones, consumo y tolerancia a fallos dentro de una red en chip. Para la primera propuesta (topología NR-Mesh), se alcanzan mejoras en prestaciones de un 7\% y hasta de un 75\% en reducción de consumo de media, comparado con la malla 2D o malla de 2 dimensiones. Para la siguiente propuesta, la malla concentrada paralela (PC-Mesh), el beneficio en prestaciones que se obtiene es de hasta un 20\%, así cómo de un 60\% en reducción de / Camacho Villanueva, J. (2012). High Performance and Power Efficient On-Chip Network Designs through Multiple Injection Ports [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/18235
3

La topología de Bohr para grupos topológicos abelianos

Macario Vives, Sergio 03 June 2002 (has links)
Para grupos topológicos abelianos maximalmente casi periódicos (en el sentido de von Neumann) es sencillo describir su compactación de Bohr, bG. En este caso puede identificarse bG con el conjunto de homomorfismos del dual de G en el toro de dimensión 1. La topología que G hereda como subgrupo de bG es la topología de Bohr de G. Resulta que la topología de Bohr es una topología totalmente acotada generada por el grupo de caracteres continuos de G. Con ese punto de partida y, utilizando el concepto de grupos en dualidad introducido por Varopoulos, se estudian diversas propiedades topológicas para la topología débil de una dualidad. Se obtiene con ello una caracterización de la débil realcompacidad en términos similares a los obtenidos por otros autores para espacios de Banach, espacios vectoriales topológicos localmente convexos y grupos abelianos localmente compactos. Además se obtienen caracterizaciones para la realcompacidad hereditaria y la pseudocompacidad. Diversos autores han considerado también el problema de la preservación de la compacidad, así como de otras propiedades topológicas, al pasar a la topología de Bohr. En esta tesis se introduce una nueva clase de grupos, los g-grupos, que aglutina a muchas otras clases de grupos topológicos: los grupos abelianos localmente compactos, los grupos aditivos de espacios vectoriales topológicos y los grupos nucleares, entre otros. Para esta nueva clase se obtiene una caracterización de la preservación de la compacidad que engloba y unifica las aproximaciones obtenidas separadamente para cada una de las clases mencionadas anteriormente. El estudio anterior se particulariza para los grupos metrizables, consiguiendo nuevas caracterizaciones estrechamente relacionadas con el trabajo de van Douwen para grupos discretos. En particular, se obtiene una caracterización para los grupos aditivos de espacios de Banach y se muestra, con un ejemplo de Bourgain, que ésta díficilmente puede ser refinada.
4

Una Nueva Familia de Topologías Indirectas, Eficientes y Tolerantes a Fallos

Bermúdez Garzón, Diego Fernando 07 January 2016 (has links)
[EN] Large parallel computers are currently adopting the cluster architecture as the basis for their construction. These machines are being built with thousands of processing nodes that are interconnected through high-speed interconnection networks. Performance, fault tolerance and network cost are key factors in the overall design of these systems. The levels of computing power required can only be reached by increasing the number of network nodes. As systems grow, however, so does the amount of network components and with it, the probability of network faults. Since availability is important with these computer systems, fault-tolerance mechanisms are often implemented that are based on increasing network size and duplicating components, which directly affects cost. In the field of interconnection networks, indirect topologies are often the design of choice for HPC systems. The most commonly used indirect topology is the fat-tree, which is a multi-stage bidirectional-link topology providing good network performance and high fault-tolerance levels, but at a high cost. To reduce cost, RUFT has been proposed, a multi-stage unidirectional topology providing network performance similar to that of the fat-tree but using fewer hardware resources (approximately half). RUFTs weak point, however, is that it has zero fault tolerance. This work focuses on designing a simple indirect topology that offers high performance and fault tolerance while keeping hardware cost as low as possible. In particular, we propose a set of new topologies with different properties in terms of cost, performance and fault tolerance. All of them are capable of achieving performances similar to or better than that of the fat-tree, while also providing good fault tolerance levels and tolerating faults in the links connecting to end nodes, which most available topologies cannot do. Our first contribution is RUFT-PL, a topology that duplicates the number of injection, network and ejection links, while using the RUFT connection pattern to interconnect all network elements. This topology provides high network performance and a slight level of fault tolerance, using the same hardware resources as a fat-tree. Our second contribution is the FT-RUFT-212 topology, which provides better network performance than the fat-tree, as well as good fault tolerance for a low design cost, thanks to the proposed injection/ejection system implemented by the processing nodes. The third contribution, FT-RUFT-222, is a topology combining the best properties of the previous two proposals. In particular, this topology implements the injection/ejection used by FT-RUFT-212 and the double network links used by RUFT-PL to interconnect the switches. It provides high performance and fault-tolerance levels while using the same hardware resources required by a fat-tree. Our fourth and last contribution is FT-RUFT-XL, a topology in which both the injection/ejection and the connection between the switches have been redesigned. It offers a significant improvement on the other proposals' fault-tolerance levels, and also provides high network performance. Furthermore, unlike many unidirectional topologies, it allows packets to take different routes at every network stage, always bringing them closer to their destination with each hop. / [ES] Actualmente, los grandes sistemas de cómputo paralelo están adoptando la arquitectura de cluster como base de su construcción (lista Top500). Estos clusters están siendo construidos con miles de nodos de procesamiento, los cuales se conectan a través de una red de interconexión de altas prestaciones. En estos sistemas, el rendimiento, la tolerancia a fallos y el coste de la red juegan un factor clave en el diseño de todo el sistema. Los niveles de cómputo requeridos solo pueden ser alcanzados incrementando el número de nodos que lo componen. Sin embargo, a medida que el sistema crece también lo hace la cantidad de componentes de la red, y con ello la probabilidad de un fallo en la misma. Dado que la disponibilidad de estos sistemas es una preocupación, los mecanismos de tolerancia a fallos son implementados regularmente basados en el aumento y replicación de componentes, afectando de forma directa a su coste. En este campo, las topologías indirectas a menudo son elegidas en el diseño de clusters de alto rendimiento. Entre ellas, la más utilizada es el fat-tree, la cual es una topología bidireccional multietapa que provee un buen rendimiento de red y un buen nivel de tolerancia a fallos, pero a un alto coste. Para reducir su coste, se propuso RUFT, una topología unidireccional multietapa que obtiene un rendimiento de red similar al fat-tree, utilizando menos recursos de hardware (aproximadamente la mitad). Sin embargo, el punto débil de RUFT es que no ofrece ningún tipo de tolerancia a fallos. En este trabajo, nos enfocamos en diseñar una topología indirecta que ofrezca un alto rendimiento de red y sea tolerante a fallos, a la vez que mantiene un bajo coste del hardware. En particular, proponemos una nueva familia de topologías indirectas con diferentes propiedades en términos de coste, rendimiento y tolerancia a fallos. Estas nuevas topologías son capaces de alcanzar un rendimiento similar o mejor al ofrecido por el fat-tree, además de ofrecer un buen nivel de tolerancia a fallos y, a diferencia de la mayoría de topologías disponibles, también son capaces de tolerar fallos en los enlaces que conectan con los nodos de procesamiento. Nuestra primera contribución es RUFT-PL, una topología que duplica los enlaces de inyección, red y eyección, siguiendo el mismo patrón de conexión utilizado por RUFT para interconectar todos los elementos de la red. Esta topología obtiene un alto rendimiento de red y un ligero grado de tolerancia a fallos, usando los mismos recursos de hardware que el fat-tree. Como segunda contribución, proponemos la topología FT-RUFT-212. Esta topología incrementa el rendimiento de red con respecto al fat-tree, ofreciendo además un buen nivel de tolerancia a fallos a un bajo coste de diseño, gracias al sistema de inyección/eyección propuesto que implementan los nodos de procesamiento. La tercera contribución, FT-RUFT-222, es una topología que aprovecha las mejores propiedades de las dos propuestas anteriores. En particular, esta topología implementa la inyección/eyección utilizada por FT-RUFT-212 y los dobles enlaces de red de RUFT-PL para conectar los conmutadores. Esta propuesta ofrece un alto rendimiento de red y de tolerancia a fallos, utilizando los mismos recursos de hardware requeridos por el fat-tree. Nuestra última contribución es FT-RUFT-XL, una topología que rediseña tanto la inyección/eyección como la conexión entre los conmutadores. Esta topología incrementa notablemente el nivel de tolerancia a fallos ofrecido por las demás propuestas, ofreciendo también un alto rendimiento de red. Además, a diferencia de muchas topologías unidireccionales, ésta permite que los paquetes tomen diferentes rutas en cada etapa de la red, acercándolos siempre a su destino en cada salto. / [CA] Actualment, els grans sistemes de còmput paral¿lel estan adoptant l'arquitectura cluster com a base per la seua construcció (Llista Top500). Aquests clusters estan sent construïts amb milers de nodes de processament, els quals es connecten mitjançant una xarxa d'interconnexió d'altes prestacions. En aquests sistemes, el rendiment, la tolerància a fallades i el cost de la xarxa són un factor clau en el disseny de tot el sistema. Per altra banda, els nivells de còmput requerits només poden ser aconseguits incrementant el nombre de nodes que componen el cluster. Per tant, a mesura que el sistema creix també ho fa la quantitat de components de la xarxa, i amb això la probabilitat d'una fallada en la mateixa. Atès que la disponibilitat d'aquests sistemes és una gran preocupació, és habitual que les xarxes d'interconnexió implementen mecanismes de tolerància a fallades, que solen consistir en l'augment i replicació de components, incrementant el cost total de la xarxa. En aquest camp, les topologies indirectes sovint són triades en el disseny de clusters d'alt rendiment. Entre elles, la més utilitzada és el fat-tree, una topologia bidireccional multietapa que presenta un bon rendiment de xarxa i un bon nivell de tolerància a fallades, però a un alt cost. Per reduir aquest cost, es va proposar RUFT, una topologia unidireccional multietapa que obté un rendiment de xarxa similar al fat-tree utilitzant menys recursos hardware (aproximadament la meitat). No obstant això, el punt feble de RUFT és que no ofereix cap tipus de tolerància a fallades. En aquest treball, ens centrem en dissenyar una topologia indirecta que, per una banda, aconseguisca un alt rendiment de xarxa i siga tolerant a fallades i, per altra banda, tinga un baix cost. Concretament, proposem una nova família de topologies indirectes amb diferents propietats pel que fa a cost, rendiment i tolerància a fallades. Aquestes noves topologies obtenen un rendiment similar o millor al que ofereix el fat-tree, a més d'oferir un bon nivell de tolerància a fallades. A més, a diferència de la majoria de topologies disponibles, toleren fallades en els enllaços que connecten amb els nodes de processament. La nostra primera contribució és RUFT-PL, una topologia que duplica els enllaços d'injecció, xarxa i ejecció, seguint el mateix patró de connexió utilitzat per RUFT per interconnectar tots els elements de la xarxa. Aquesta topologia obté un alt rendiment de xarxa i un lleuger grau de tolerància a fallades, emprant els mateixos recursos de hardware que el fat-tree. Com a segona contribució, proposem la topologia FT-RUFT-212. Aquesta topologia incrementa el rendiment de xarxa respecte al fat-tree, oferint a més a més un bon nivell de tolerància a fallades amb un baix cost de disseny, gràcies al sistema d'injecció/ejecció proposat que implementen els nodes de processament. La tercera contribució, FT-RUFT-222, és una topologia que aprofita les millors propietats de les dues propostes anteriors. En particular, aquesta topologia implementa la injecció/ejecció utilitzada per FT-RUFT-212 i els dobles enllaços de xarxa de RUFT-PL per a connectar els commutadors. Aquesta proposta ofereix un alt rendiment de xarxa i de tolerància a fallades, utilitzant els mateixos recursos hardware requerits pel fat-tree. La nostra última contribució és FT-RUFT-XL, una topologia que redissenya tant la injecció / ejecció com la connexió entre els commutadors. Aquesta topologia incrementa notablement el nivell de tolerància a fallades oferit per les altres propostes, presentant alhora un elevat rendiment de xarxa. A més a més, a diferència de moltes topologies unidireccionals, aquesta permet que els paquets prenguin rutes diferents en cada etapa de la xarxa, acostant-se sempre al seu destí en cada salt. / Bermúdez Garzón, DF. (2015). Una Nueva Familia de Topologías Indirectas, Eficientes y Tolerantes a Fallos [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/59386

Page generated in 0.0292 seconds