Advanced Networked Systems (H) COMPSCI4091
- Academic Session: 2022-23
- School: School of Computing Science
- Credits: 10
- Level: Level 4 (SCQF level 10)
- Typically Offered: Semester 2
- Available to Visiting Students: Yes
- Available to Erasmus Students: Yes
The course aims to give students a deep understanding of the fundamental design, implementation, management, and evaluation principles that govern large-scale, high-speed networked systems. These include algorithmic and implementation techniques for high-speed networking in routers and end-nodes; systems performance measurement and modelling principles; network and system resource management, allocation and engineering schemes; and research and technological advances that drive the development of a converged, global telecommunications medium of the future.
3 hours per week - specific day/time TBC
Requirements of Entry
Networks and Operating Systems (NOSE) 2 (or equivalent)
Networked Systems H (or equivalent)
Operating Systems H (or equivalent)
Systems Programming H (or equivalent)
Examination 80%, coursework 20%.
Students are asked to submit a programming-based assessed coursework to implement an advanced networked system concept (e.g., algorithm, experimental design, networked application, performance modelling and evaluation, etc.), embracing practical concepts covered in the course.
Main Assessment In: April/May
Are reassessment opportunities available for all summative assessments? No
Reassessments are normally available for all courses, except those which contribute to the Honours classification. For non-Honours courses, students are offered reassessment in all or any of the components of assessment if the satisfactory (threshold) grade for the overall course is not achieved at the first attempt. This is normally grade D3 for undergraduate students and grade C3 for postgraduate students. Exceptionally it may not be possible to offer reassessment of some coursework items, in which case the mark achieved at the first attempt will be counted towards the final course grade. Any such exceptions for this course are described below.
Computer networks have become an integral part of society - we take for granted the ability to transact commerce over the Internet, to store documents online, and that users can avail themselves of a growing set of communication methods, ranging from file sharing to social networking and video conferencing. Moreover, computer networks underpin a lot of recent paradigm-shifting advances in ICT, from Cloud Computing, to Smart Cities and the Internet of Things.
To support the seamless provision of all these advanced services, computer networks engage a complex set of interconnected systems and components whose design is governed by principles across the spectrum of Computing Science and Engineering: from hardware and software architecture, to protocols and algorithms, to analysis and modelling.
This course will therefore adopt a holistic systems thinking instead of the 'black-box' thinking that often results from treating concepts (such as, e.g., algorithms, OS, networking) in isolation.
1. The course will look at 'network algorithmics' as an interdisciplinary systems approach to streamlining network stack implementations in routers and end-nodes, and understand the bottlenecks that need to be overcome in order to meet strict performance requirements.
2. The course will cover the importance of high performance in network design and implementation, and understand the need for building networked systems that are on par with ever increasing physical link capacities (you can buy more bandwidth, but cannot buy less delay). In doing so, ways to measure network performance will be explored, and also approaches to evaluating and analysing the performance of networked systems. Students will therefore be able to generalise and reason about the capabilities and limitations of different processing and service models.
3. In addition, the course will look at algorithms and technologies for efficient and fair resource usage, and students will understand the importance of end-to-end protocol design and traffic engineering. For example, students will understand why, in networks, packet loss is not an isolated incident 'when things go wrong' but the norm: a mechanism based on which the appropriate feedback loops can be created to ensure that the underlying resources are used fully and shared equally.
4. The course will also look at recent technological and research advances in emerging computer networking technologies and protocols. For example, Data Centre / Cloud networking for achieving full bi-section bandwidth; Software-Defined Networking (SDN) as a transformative paradigm aiming to logically centralise the network control plane; Network Function Virtualisation (NFV) as an approach to embed add-on services on top of connectivity in network infrastructures; Resilient networked systems.
By the end of this course, students will have a deep understanding of the design and implementation principles for building high-performance inter-connected systems, as well as specialist knowledge in advances in computer networking technology. This course will be particularly suitable for students who aspire to successful careers either in systems research, or in diverse industry sectors ranging from global (e.g., Google, Facebook, Amazon) to local (e.g., the banking sector) infrastructure operators, to equipment vendors (e.g., Cisco, Huawei, Ericson) and Internet Service Providers (e.g., BT).
Intended Learning Outcomes of Course
By the end of this course students will be able to:
1. Articulate the key challenges in building high-speed networked systems
2. Illustrate the design and implementation implications for high-performance networked systems,
protocols, and algorithms
3. Design and conduct experiments over diverse networked infrastructures
4.Outline and critique advances in networking technology and systems
Minimum Requirement for Award of Credits
Students must submit at least 75% by weight of the components (including examinations) of the course's summative assessment.