AI is finding it's way in a wide variety of applications pertaining to almost every industry. This AI driven rapidly evolving landscape has created a demand for a unique blend of technical, creative, and interpersonal skills highly sought-after by employers. Listed below are some specialized AI-related skills that are becoming increasingly valuable in the modern times. 1. AI Models Development Understanding how AI and ML work including the underlying algorithms, and learning to develop ML powered apps using tools like TensorFlow or PyTorch is a highly desirable skill to master in the age of AI. Furthermore, the skills in fine-tuning and adapting large pre-trained models (like GPT, BERT, or Vision Transformers) to specific use cases are also useful, allowing you to create specialized applications without starting from scratch. Leveraging pre-trained models and adapting them to new tasks with limited data is particularly useful in NLP and computer vision. 2. AI Models Deployme...
Internet has seen explosive growth in the number of connected hosts since it's inception. Technologies have also evolved to keep the services at par with the growth in user base. Despite these technological advances, some of the inherent design problems are growing every passing day. These problems are a result of initial design considerations and are much difficult to eradicate. These problems form the basis of core computer networks research today.
IPv4 Addressing
One big problem is that we are running out of IP addresses. The prevalent version of internet addressing is IPv4. It is 32 bit hierarchical addressing scheme which allows a total of 4 billion addresses. These addresses are allocated hierarchically to regional registries and many portions of this address space are not used efficiently. Nobody imagined during the early phases of internet design that the number of connected hosts will grow exponentially leading to the scarcity of 4 billion IP addresses.
It is very difficult to make changes to IP protocol as it makes the core of internet architecture. Internet is so widely distributed and managed independently, that making changes to the core is nearly impossible. IP stack is implemented in every device connected to the internet. It includes end hosts and back bone routers. These devices are distributed across the globe and there is no single control. It is difficult to make changes to IP protocol in each back bone device, by halting the internet one fine morning, declared as a "Flag Day".
Figure 1: Internet Backbone Interconnection
One solution to this problem led to widespread adoption of Network Address Translation (NAT) devices. NAT devices are found in every home/ public routers and access points. They allow assigning a single public IP address to one NAT domain. All the devices behind NAT can use that single IP address to connect to rest of the internet. Introducing middle ware devices like NATs have their own disadvantages. They solve the addressing problem but limit the growth of transport layer protocols and peer to peer applications. Another solution to IPv4 address scarcity is increasing the number of bits to 128 named as IPv6. IPv6 addresses solve the problem under discussion but the difficulty lies in internet wide implementation. Many internet devices today implement both the IPv4 and IPv6 stacks in parallel. Both IP versions have to coexist for quite some time because of the distributed management of the internet. It has turned out to be extremely difficult to make a shift to IPv6 completely from IPv4.
Border Gateway Protocol
BGP is the glue which holds the internet together. It runs between various independently managed Autonomous Systems of the internet to exchange routing information. BGP is largely dependent on the business goals and relationships between the connecting Autonomous Systems. This flexibility leads to a number of ills including lack of security, ease of mis-configuration, poor convergence and non-determinism. A mis-configured BGP router can result in loss of internet connectivity to large part of the internet. BGP hijacking has been a major cause of internet security breaches. A solution to this problem requires a change to critical part of internet infrastructure and changing the basic infrastructure is very difficult.
Security
Another major problem of the internet is security. Any device which implements an IP stack is connected to the internet. This simplicity and flexibility comes at a cost of compromised security. The basic internet design principle of "Multiplexed Utilization" provides many benefits but compromises on security of information. In fact, security was never a consideration of basic internet design philosophy by DARPA. That is why the deployment of secure software and secure configuration is difficult. Internet does the good job of transmitting packets to a destination even if the destination does not want those packets. This is used by attackers to flood the networks with denial of service attacks. Distributed denial of service attacks are a commonplace in today's internet.
TCP Congestion Control Algorithms
The fundamental goal of TCP congestion control algorithms is to achieve maximum utilization of the network and ensure fairness between different flows. One of the problems with today's congestion control algorithms is that they have insufficient dynamic range. They don't work very well over slow and flaky wireless links and they don't work very well over very high speed intercontinental paths. Some solutions exist but change is hard and all solutions that are deployed must interact well with one another. And deployment in some sense requires some amount of consensus.
Now, the thing that all of those problems have in common is that they all require changes to the basic infrastructure. And changing basic infrastructure is really difficult. It's not even clear what the process is to achieve consensus on changes between different independent administrative domains of the internet. New protocols and technologies have been proposed to mitigate these problems but the results are yet to be seen. Software Defined Networking, or SDN was a major leap forward to solving a majority of these problems.
BGP is the glue which holds the internet together. It runs between various independently managed Autonomous Systems of the internet to exchange routing information. BGP is largely dependent on the business goals and relationships between the connecting Autonomous Systems. This flexibility leads to a number of ills including lack of security, ease of mis-configuration, poor convergence and non-determinism. A mis-configured BGP router can result in loss of internet connectivity to large part of the internet. BGP hijacking has been a major cause of internet security breaches. A solution to this problem requires a change to critical part of internet infrastructure and changing the basic infrastructure is very difficult.
Figure 2: BGP Between 3 Autonomous Systems
Security
Another major problem of the internet is security. Any device which implements an IP stack is connected to the internet. This simplicity and flexibility comes at a cost of compromised security. The basic internet design principle of "Multiplexed Utilization" provides many benefits but compromises on security of information. In fact, security was never a consideration of basic internet design philosophy by DARPA. That is why the deployment of secure software and secure configuration is difficult. Internet does the good job of transmitting packets to a destination even if the destination does not want those packets. This is used by attackers to flood the networks with denial of service attacks. Distributed denial of service attacks are a commonplace in today's internet.
TCP Congestion Control Algorithms
The fundamental goal of TCP congestion control algorithms is to achieve maximum utilization of the network and ensure fairness between different flows. One of the problems with today's congestion control algorithms is that they have insufficient dynamic range. They don't work very well over slow and flaky wireless links and they don't work very well over very high speed intercontinental paths. Some solutions exist but change is hard and all solutions that are deployed must interact well with one another. And deployment in some sense requires some amount of consensus.
Now, the thing that all of those problems have in common is that they all require changes to the basic infrastructure. And changing basic infrastructure is really difficult. It's not even clear what the process is to achieve consensus on changes between different independent administrative domains of the internet. New protocols and technologies have been proposed to mitigate these problems but the results are yet to be seen. Software Defined Networking, or SDN was a major leap forward to solving a majority of these problems.
Comments
Post a Comment