Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
|||
Books > Computing & IT > Computer hardware & operating systems > Computer architecture & logic design
The book describes a fundamentally new approach to software dependability, considering a software system as an ever-changing system due to changes in service objectives, users' requirements, standards and regulations, and to advances in technology. Such a system is viewed as an Open System since its functions, structures, and boundaries are constantly changing. Thus, the approach to dependability is called Open Systems Dependability. The DEOS technology realizes Open Systems Dependability. It puts more emphasis on stakeholders' agreement and accountability achievement for business/service continuity than in elemental technologies.
State-of-the-Art Approaches to Advance the Large-Scale Green Computing Movement Edited by one of the founders and lead investigator of the Green500 list, The Green Computing Book: Tackling Energy Efficiency at Large Scale explores seminal research in large-scale green computing. It begins with low-level, hardware-based approaches and then traverses up the software stack with increasingly higher-level, software-based approaches. In the first chapter, the IBM Blue Gene team illustrates how to improve the energy efficiency of a supercomputer by an order of magnitude without any system performance loss in parallelizable applications. The next few chapters explain how to enhance the energy efficiency of a large-scale computing system via compiler-directed energy optimizations, an adaptive run-time system, and a general prediction performance framework. The book then explores the interactions between energy management and reliability and describes storage system organization that maximizes energy efficiency and reliability. It also addresses the need for coordinated power control across different layers and covers demand response policies in computing centers. The final chapter assesses the impact of servers on data center costs.
Focusing on algorithms for distributed-memory parallel architectures, Parallel Algorithms presents a rigorous yet accessible treatment of theoretical models of parallel computation, parallel algorithm design for homogeneous and heterogeneous platforms, complexity and performance analysis, and essential notions of scheduling. The book extracts fundamental ideas and algorithmic principles from the mass of parallel algorithm expertise and practical implementations developed over the last few decades. In the first section of the text, the authors cover two classical theoretical models of parallel computation (PRAMs and sorting networks), describe network models for topology and performance, and define several classical communication primitives. The next part deals with parallel algorithms on ring and grid logical topologies as well as the issue of load balancing on heterogeneous computing platforms. The final section presents basic results and approaches for common scheduling problems that arise when developing parallel algorithms. It also discusses advanced scheduling topics, such as divisible load scheduling and steady-state scheduling. With numerous examples and exercises in each chapter, this text encompasses both the theoretical foundations of parallel algorithms and practical parallel algorithm design.
Not only does almost everyone in the civilized world use a personal computer, smartphone, and/or tablet on a daily basis to communicate with others and access information, but virtually every other modern appliance, vehicle, or other device has one or more computers embedded inside it. One cannot purchase a current-model automobile, for example, without several computers on board to do everything from monitoring exhaust emissions, to operating the anti-lock brakes, to telling the transmission when to shift, and so on. Appliances such as clothes washers and dryers, microwave ovens, refrigerators, etc. are almost all digitally controlled. Gaming consoles like Xbox, PlayStation, and Wii are powerful computer systems with enhanced capabilities for user interaction. Computers are everywhere, even when we don't see them as such, and it is more important than ever for students who will soon enter the workforce to understand how they work. This book is completely updated and revised for a one-semester upper level undergraduate course in Computer Architecture, and suitable for use in an undergraduate CS, EE, or CE curriculum at the junior or senior level. Students should have had a course(s) covering introductory topics in digital logic and computer organization. While this is not a text for a programming course, the reader should be familiar with computer programming concepts in at least one language such as C, C++, or Java. Previous courses in operating systems, assembly language, and/or systems programming would be helpful, but are not essential.
* The ELS model of enterprise security is endorsed by the Secretary of the Air Force for Air Force computing systems and is a candidate for DoD systems under the Joint Information Environment Program. * The book is intended for enterprise IT architecture developers, application developers, and IT security professionals. * This is a unique approach to end-to-end security and fills a niche in the market.
NB-IoT is the Internet of Things (IoT) technology used for cellular communication. NB-IoT devices deliver much better capability and performance, such as: increased area coverage of up to one kilometer; a massive number of devices-up to 200,000-per a single base-station area; longer battery lifetime of ten years; and better indoor and outdoor coverage for areas with weak signal, such as underground garages. The cellular NB-IoT technology is a challenging technology to use and understand. With more than 30 projects presented in this book, covering many use cases and scenarios, this book provides hands-on and practical experience of how to use the cellular NB-IoT for smart applications using Arduino (TM), Amazon Cloud, Google Maps, and charts. The book starts by explaining AT commands used to configure the NB-IoT modem; data serialization and deserialization; how to set up the cloud for connecting NB-IoT devices; setting up rules, policy, security certificates, and a NoSQL database on the cloud; how to store and read data in the cloud; how to use Google Maps to visualize NB-IoT device geo-location; and how to use charts to visualize sensor datasets. Projects for Arduino are presented in four parts. The first part explains how to connect the device to the mobile operator and cellular network; perform communication using different network protocols, such as TCP, HTTP, SSL, or MQTT; how to use GPS for geo-location applications; and how to upgrade NB-IoT modem firmware over the air. The second part explains the microcontroller unit and how to build and run projects, such as a 7-segment display or a real-time clock. The third part explains how NB-IoT can be used with sensor devices, such as ultrasonic and environmental sensors. Finally, the fourth part explains how NB-IoT can be used to control actuators, such as stepper motors and relays. This book is a unique resource for understanding practical uses of the NB-IoT technology and serves as a handbook for technical and non-technical readers who are looking for practicing and exercising the cellular NB-IoT technology. The book can be used by engineers, students, researchers, system integrators, mobile operators' technical staff, and electronics enthusiasts. To download the software which can be used with the book, go to: https://github.com/5ghub/NB-IoT About the Author: Hossam Fattah is a technology expert in 4G/5G wireless systems and networking. He received his Ph.D. in Electrical and Computer Engineering from University of British Columbia, Vancouver, Canada in 2003. He received his Master of Applied Science in Electrical and Computer Engineering from University of Victoria, Victoria, Canada in 2000. He completed his B.Sc. degree in Computers and Systems Engineering from Al-Azhar University, Cairo, Egypt in 1995. Between 2003 and 2011, he was in academia and industry, including Texas A&M University. Between 2011 and 2013, he was with Spirent Communications, NJ, USA. Since 2013, he has been with Microsoft, USA. He is also an affiliate associate professor at University of Washington, Tacoma, WA, USA, teaching graduate courses on IoT and distributed systems and collaborating on 5G research and innovations. He has had many patents and technical publications in conferences and journals. He is a registered professional Engineer with the Association of Professional Engineers, British Columbia, Canada. He is the author of the recent book 5G LTE Narrowband Internet of Things (NB-IoT). His research interest is in wireless communications and radio networks and protocols, cellular quality of service, radio resource management, traffic and packet scheduling, network analytics, and mobility.
High-Performance Computing (HPC) delivers higher computational performance to solve problems in science, engineering and finance. There are various HPC resources available for different needs, ranging from cloud computing- that can be used without much expertise and expense - to more tailored hardware, such as Field-Programmable Gate Arrays (FPGAs) or D-Wave's quantum computer systems. High-Performance Computing in Finance is the first book that provides a state-of-the-art introduction to HPC for finance, capturing both academically and practically relevant problems.
Transactions on HiPEAC aims at the timely dissemination of research contributions in computer architecture and compilation methods for high-performance embedded computer systems. Recognizing the convergence of embedded and general-purpose computer systems, this journal publishes original research on systems targeted at specific computing tasks as well as systems with broad application bases. The scope of the journal therefore covers all aspects of computer architecture, code generation and compiler optimization methods of interest to researchers and practitioners designing future embedded systems. This 4th issue contains 21 papers carefully reviewed and selected out of numerous submissions and is divided in four sections. The first section contains five regular papers. The second section consists of the top four papers from the 4th International Conference on High-Performance Embedded Architectures and Compilers, HiPEAC 2009, held in Paphos, Cyprus, in January 2009. The third section contains a set of six papers providing a snap-shot from the Workshop on Software and Hardware Challenges of Manycore Platforms, SHCMP 2008 held in Beijing, China, in June 2008. The fourth section consists of six papers from the 8th IEEE International Symposium on Systems, Architectures, Modeling and Simulation, SAMOS VIII (2008) held in Samos, Greece, in July 2008.
Intended as an undergraduate/post graduate level textbook for courses on high speed optical networks as well as computer networks. Nine chapters cover basic principles of the technology and different devices for optical networks, as well as processing of integrated waveguide devices of optical networks using different technologies. It provides students, researchers and practicing engineers with an expert guide to the fundamental concepts, issues and state of the art developments in optical networks. Includes examples throughout all the chapters of the book to aid understanding of basic problems and solutions.
Since the publication of the first edition, parallel computing technology has gained considerable momentum. A large proportion of this has come from the improvement in VLSI techniques, offering one to two orders of magnitude more devices than previously possible. A second contributing factor in the fast development of the subject is commercialization. The supercomputer is no longer restricted to a few well-established research institutions and large companies. A new computer breed combining the architectural advantages of the supercomputer with the advance of VLSI technology is now available at very attractive prices. A pioneering device in this development is the transputer, a VLSI processor specifically designed to operate in large concurrent systems. Parallel Computers 2: Architecture, Programming and Algorithms reflects the shift in emphasis of parallel computing and tracks the development of supercomputers in the years since the first edition was published. It looks at large-scale parallelism as found in transputer ensembles. This extensively rewritten second edition includes major new sections on the transputer and the OCCAM language. The book contains specific information on the various types of machines available, details of computer architecture and technologies, and descriptions of programming languages and algorithms. Aimed at an advanced undergraduate and postgraduate level, this handbook is also useful for research workers, machine designers, and programmers concerned with parallel computers. In addition, it will serve as a guide for potential parallel computer users, especially in disciplines where large amounts of computer time are regularly used.
GPU Parallel Program Development using CUDA teaches GPU programming by showing the differences among different families of GPUs. This approach prepares the reader for the next generation and future generations of GPUs. The book emphasizes concepts that will remain relevant for a long time, rather than concepts that are platform-specific. At the same time, the book also provides platform-dependent explanations that are as valuable as generalized GPU concepts. The book consists of three separate parts; it starts by explaining parallelism using CPU multi-threading in Part I. A few simple programs are used to demonstrate the concept of dividing a large task into multiple parallel sub-tasks and mapping them to CPU threads. Multiple ways of parallelizing the same task are analyzed and their pros/cons are studied in terms of both core and memory operation. Part II of the book introduces GPU massive parallelism. The same programs are parallelized on multiple Nvidia GPU platforms and the same performance analysis is repeated. Because the core and memory structures of CPUs and GPUs are different, the results differ in interesting ways. The end goal is to make programmers aware of all the good ideas, as well as the bad ideas, so readers can apply the good ideas and avoid the bad ideas in their own programs. Part III of the book provides pointer for readers who want to expand their horizons. It provides a brief introduction to popular CUDA libraries (such as cuBLAS, cuFFT, NPP, and Thrust),the OpenCL programming language, an overview of GPU programming using other programming languages and API libraries (such as Python, OpenCV, OpenGL, and Apple's Swift and Metal,) and the deep learning library cuDNN.
"Ask not what your compiler can do for you, ask what you can do for your compiler." --John Levesque, Director of Cray's Supercomputing Centers of Excellence The next decade of computationally intense computing lies with more powerful multi/manycore nodes where processors share a large memory space. These nodes will be the building block for systems that range from a single node workstation up to systems approaching the exaflop regime. The node itself will consist of 10's to 100's of MIMD (multiple instruction, multiple data) processing units with SIMD (single instruction, multiple data) parallel instructions. Since a standard, affordable memory architecture will not be able to supply the bandwidth required by these cores, new memory organizations will be introduced. These new node architectures will represent a significant challenge to application developers. Programming for Hybrid Multi/Manycore MPP Systems attempts to briefly describe the current state-of-the-art in programming these systems, and proposes an approach for developing a performance-portable application that can effectively utilize all of these systems from a single application. The book starts with a strategy for optimizing an application for multi/manycore architectures. It then looks at the three typical architectures, covering their advantages and disadvantages. The next section of the book explores the other important component of the target-the compiler. The compiler will ultimately convert the input language to executable code on the target, and the book explores how to make the compiler do what we want. The book then talks about gathering runtime statistics from running the application on the important problem sets previously discussed. How best to utilize available memory bandwidth and virtualization is covered next, along with hybridization of a program. The last part of the book includes several major applications, and examines future hardware advancements and how the application developer may prepare for those advancements.
By 2020, if not before, mobile computing and wireless systems are expected to enter the fifth generation (5G), which promises evolutionary if not revolutionary services. What those advanced services will look like, sound like, and feel like is the theme of the book Advances in Mobile Computing and Communications: Perspectives and Emerging Trends in 5G Networks. The book explores futuristic and compelling ideas in latest developments of communication and networking aspects of 5G. As such, it serves as an excellent guide for advanced developers, communication network scientists, researchers, academicians, and graduate students. The authors address computing models, communication architecture, and protocols based on 3G, LTE, LTE-A, 4G, and beyond. Topics include advances in 4G, radio propagation and channel modeling aspects of 4G networks, limited feedback for 4G, and game theory application for power control and subcarrier allocation in OFDMA cellular networks. Additionally, the book covers millimeter-wave technology for 5G networks, multicellular heterogeneous networks, and energy-efficient mobile wireless network operations for 4G and beyond using HetNets. Finally, the authors delve into opportunistic multiconnect networks with P2P WiFi and cellular providers and video streaming over wireless channels for 4G and beyond.
Cyber Security for Industrial Control Systems: From the Viewpoint of Close-Loop provides a comprehensive technical guide on up-to-date new secure defending theories and technologies, novel design, and systematic understanding of secure architecture with practical applications. The book consists of 10 chapters, which are divided into three parts. The first three chapters extensively introduce secure state estimation technologies, providing a systematic presentation on the latest progress in security issues regarding state estimation. The next five chapters focus on the design of secure feedback control technologies in industrial control systems, displaying an extraordinary difference from that of traditional secure defending approaches from the viewpoint of network and communication. The last two chapters elaborate on the systematic secure control architecture and algorithms for various concrete application scenarios. The authors provide detailed descriptions on attack model and strategy analysis, intrusion detection, secure state estimation and control, game theory in closed-loop systems, and various cyber security applications. The book is useful to anyone interested in secure theories and technologies for industrial control systems.
We are at the dawn of an era in networking that has the potential to define a new phase of human existence. This era will be shaped by the digitization and connection of everything and everyone with the goal of automating much of life, effectively creating time by maximizing the efficiency of everything we do and augmenting our intelligence with knowledge that expedites and optimizes decision-making and everyday routines and processes. The Future X Network: A Bell Labs Perspective outlines how Bell Labs sees this future unfolding and the key technological breakthroughs needed at both the architectural and systems levels. Each chapter of the book is dedicated to a major area of change and the network and systems innovation required to realize the technological revolution that will be the essential product of this new digital future.
In view of the growing presence and popularity of multicore and manycore processors, accelerators, and coprocessors, as well as clusters using such computing devices, the development of efficient parallel applications has become a key challenge to be able to exploit the performance of such systems. This book covers the scope of parallel programming for modern high performance computing systems. It first discusses selected and popular state-of-the-art computing devices and systems available today, These include multicore CPUs, manycore (co)processors, such as Intel Xeon Phi, accelerators, such as GPUs, and clusters, as well as programming models supported on these platforms. It next introduces parallelization through important programming paradigms, such as master-slave, geometric Single Program Multiple Data (SPMD) and divide-and-conquer. The practical and useful elements of the most popular and important APIs for programming parallel HPC systems are discussed, including MPI, OpenMP, Pthreads, CUDA, OpenCL, and OpenACC. It also demonstrates, through selected code listings, how selected APIs can be used to implement important programming paradigms. Furthermore, it shows how the codes can be compiled and executed in a Linux environment. The book also presents hybrid codes that integrate selected APIs for potentially multi-level parallelization and utilization of heterogeneous resources, and it shows how to use modern elements of these APIs. Selected optimization techniques are also included, such as overlapping communication and computations implemented using various APIs. Features: Discusses the popular and currently available computing devices and cluster systems Includes typical paradigms used in parallel programs Explores popular APIs for programming parallel applications Provides code templates that can be used for implementation of paradigms Provides hybrid code examples allowing multi-level parallelization Covers the optimization of parallel programs
Parallel Computing for Data Science: With Examples in R, C++ and CUDA is one of the first parallel computing books to concentrate exclusively on parallel data structures, algorithms, software tools, and applications in data science. It includes examples not only from the classic "n observations, p variables" matrix format but also from time series, network graph models, and numerous other structures common in data science. The examples illustrate the range of issues encountered in parallel programming. With the main focus on computation, the book shows how to compute on three types of platforms: multicore systems, clusters, and graphics processing units (GPUs). It also discusses software packages that span more than one type of hardware and can be used from more than one type of programming language. Readers will find that the foundation established in this book will generalize well to other languages, such as Python and Julia.
Originally published in 1995 Time and Logic examines understanding and application of temporal logic, presented in computational terms. The emphasis in the book is on presenting a broad range of approaches to computational applications. The techniques used will also be applicable in many cases to formalisms beyond temporal logic alone, and it is hoped that adaptation to many different logics of program will be facilitated. Throughout, the authors have kept implementation-orientated solutions in mind. The book begins with an introduction to the basic ideas of temporal logic. Successive chapters examine particular aspects of the temporal theoretical computing domain, relating their applications to familiar areas of research, such as stochastic process theory, automata theory, established proof systems, model checking, relational logic and classical predicate logic. This is an essential addition to the library of all theoretical computer scientists. It is an authoritative work which will meet the needs both of those familiar with the field and newcomers to it.
Description All aspects of software development and deployment become painfully slow. The solution is to adopt the microservice architecture. This architecture accelerates software development and enables continuous delivery and deployment of complex software applications. Microservice Patterns teaches enterprise developers and architects how to build applications with the microservice architecture. This book also teaches readers how to refactor a monolithic application to a microservice architecture. Key features * In-depth guide * Practical examples * Step-by-step instructions Audience Readers should be familiar with the basics of enterprise application architecture, design, and implementation. About the technology Microservice architecture accelerates software development and enables continuous delivery and deployment of complex software applications. Author biography Chris Richardson is a developer and architect. He is a Java Champion, a JavaOne rock star and the author of POJOs in Action, which describes how to build enterprise Java applications with frameworks such as Spring and Hibernate. Chris was also the founder of the original CloudFoundry.com, an early Java PaaS for Amazon EC2. Today, he is a recognized thought leader in microservices. Chris is the creator of http://microservices.io , a website describing how to develop and deploy microservices. He provides microservices consulting and training and is working on his third startup http://eventuate.io , an application platform for developing microservices.
Information services are economic and organizational activities for informing people. Because informing is changing rapidly under the influence of internet-technologies, this book presents in Chapter 1 fundamental notions of information and knowledge, based on philosopher C.W. Churchman's inquiring systems. This results in the identification of three product-oriented design theory aspects: content, use value and revenue. Chapter 2 describes how one can cope with these aspects by presenting process-oriented design theory. Both design theory insights are applied in chapters on information services challenges, their business concepts and processes, their architectures and exploitation. The final chapter discusses three case studies that integrate the insights from previous chapters, and it discusses some ideas for future research. This book gives students a coherent start to the topic of information services from a design science perspective, with a balance between technical and managerial aspects. Therefore, this book is useful for modern curricula of management, communication science and information systems. Because of its design science approach, it also explains design science principles. The book also serves professionals and academics in search of a foundational understanding of informing as a science and management practice.
This book highlights how to integrate and realize Service Oriented Architecture with web services which is one of the emerging technologies in IT. It also focuses on the latest technologies, such as Metadata Management, Security issues, Quality of Service and its commercialization. A chapter is also devoted to the study of Emerging standards and development tools for Enterprise Application Integration. Most enterprises have made extensive investments in system resources over the course of many years. Such enterprises have an enormous amount of data stored in legacy enterprise information systems (EIS), so it is not practical to discard existing systems. It is more cost-effective to evolve and enhance EIS. This could be done with the help of SOA realizing with web services, which is an emerging field in Information technology. SOA is usually realized through web services. Web services specifications may add to the confusion of how to best to utilize SOA to solve business problems. In order for a smooth transition to SOA, using an architectural style that helps in realizing web services through SOA. The book concentrates on this architecture, realization and integration of SOA with web services. It consists of 12 chapters and is recommended for all postgraduate Computer Science Students.
Computer Systems Architecture provides IT professionals and students with the necessary understanding of computer hardware. It addresses the ongoing issues related to computer hardware and discusses the solutions supplied by the industry. The book describes trends in computing solutions that led to the current available infrastructures, tracing the initial need for computers to recent concepts such as the Internet of Things. It covers computers' data representation, explains how computer architecture and its underlying meaning changed over the years, and examines the implementations and performance enhancements of the central processing unit (CPU). It then discusses the organization, hierarchy, and performance considerations of computer memory as applied by the operating system and illustrates how cache memory significantly improves performance. The author proceeds to explore the bus system, algorithms for ensuring data integrity, input and output (I/O) components, methods for performing I/O, various aspects relevant to software engineering, and nonvolatile storage devices, such as hard drives and technologies for enhancing performance and reliability. He also describes virtualization and cloud computing and the emergence of software-based systems' architectures. Accessible to software engineers and developers as well as students in IT disciplines, this book enhances readers' understanding of the hardware infrastructure used in software engineering projects. It enables readers to better optimize system usage by focusing on the principles used in hardware systems design and the methods for enhancing performance.
Enterprise architecture requires an understanding of all technologies, strategies, and data consumption throughout the enterprise. To this end, one must strive to always broaden knowledge of existing, as well as emerging trends and solutions. As a trade, this role demands an understanding beyond the specificities of technologies and vendor products. An enterprise architect must be versatile with the design and arrangement of elements in an extended network enterprise. Intended for anyone charged with coordinating enterprise architectural design in a small, medium, or large organization, Sustainable Enterprise Architecture helps you explore the various elements of your own particular network environment to develop strategies for mid- to long-term management and sustainable growth. Organized much like a book on structural architecture, this one starts with a solid foundation of frameworks and general guidelines for enterprise governance and design. The book covers common considerations for all enterprises, and then drills down to specific types of technology that may be found in your enterprise. It explores strategies for protecting enterprise resources and examines technologies and strategies that are only just beginning to take place in the modern enterprise network. Each chapter builds on the knowledge and understanding of topics presented earlier in the book to give you a thorough understanding of the challenges and opportunities in managing enterprise resources within a well-designed architectural strategy. Emphasizing only those strategies that weather change, Sustainable Enterprise Architecture shows you how to evaluate your own unique environment and find alignment with the concepts of sustainability and architecture. It gives you the tools to build solutions and policies to protect your enterprise and allow it to provide the greatest organizational value into the future.
A Thorough Overview of the Next Generation in Computing Poised to follow in the footsteps of the Internet, grid computing is on the verge of becoming more robust and accessible to the public in the near future. Focusing on this novel, yet already powerful, technology, Introduction to Grid Computing explores state-of-the-art grid projects, core grid technologies, and applications of the grid. After comparing the grid with other distributed systems, the book covers two important aspects of a grid system: scheduling of jobs and resource discovery and monitoring in grid. It then discusses existing and emerging security technologies, such as WS-Security and OGSA security, as well as the functions of grid middleware at a conceptual level. The authors also describe famous grid projects, demonstrate the pricing of European options through the use of the Monte Carlo method on grids, and highlight different parallelization possibilities on the grid. Taking a tutorial approach, this concise book provides a complete introduction to the components of the grid architecture and applications of grid computing. It expertly shows how grid computing can be used in various areas, from computational mechanics to risk management in financial institutions.
This book constitutes the refereed proceedings of the 7th International Workshop on OpenMP, IWOMP 2011, held in Chicago, IL, USA in June 2011. The 13 revised full papers presented were carefully reviewed and selected for inclusion in the proceedings. The papers are organized in topical sections on using OpenMP with application, tools for OpenMP, extensions of OpenMP, and implementation and performance. |
You may like...
IoT and AI Technologies for Sustainable…
Abid Hussain, Garima Tyagi, …
Hardcover
R2,997
Discovery Miles 29 970
Understanding Computers - Today and…
Charles Parker, Deborah Morley
Paperback
Mathematical Logic through Python
Yannai A. Gonczarowski, Noam Nisan
Paperback
Edge-AI in Healthcare - Trends and…
Sonali Vyas, Akanksha Upadhyaya, …
Hardcover
R2,535
Discovery Miles 25 350
Terraform - Up and Running - Writing…
Yevgeniy Brikman
Paperback
The Adventurous and Practical Journey to…
FANAP Studies & Research Center
Hardcover
R2,971
Discovery Miles 29 710
|