Costin Raiciu

dblp:62/2645 · DBLP profile ↗
← Back
41ranked-venue papers
4as first author
12since 2021 · last 2025
0000-0002-5937-2162ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Computer networks · 27 · 4 first-author · 4 since 2021Systems, architecture and hardware · 6 · 4 since 2021Software engineering, systems software and programming languages · 5 · 4 since 2021Security and privacy · 3 · 1 since 2021
YearPublicationVenuePosition
2025 Generating P4 data planes using LLMs
Mihai-Valentin Dumitru, Vlad-Andrei Badoiu, Alexandru M. Gherghescu, Costin Raiciu
Comput. Networks4
2024 Loupe: Driving the Development of OS Compatibility Layers
abstract
Supporting mainstream applications is fundamental for a new OS to have impact. It is generally achieved by developing a layer of compatibility allowing applications developed for a mainstream OS like Linux to run unmodified on the new OS. Building such a layer, as we show, results in large engineering inefficiencies due to the lack of efficient methods to precisely measure the OS features required by a set of applications.
Hugo Lefeuvre, Gaulthier Gain, Vlad-Andrei Badoiu, Daniel Dinca, Vlad-Radu Schiller, Costin Raiciu, Felipe Huici, Pierre Olivier
ASPLOS (1)6
2024 Process Identity-Based Firewalling
Radu Mantu, Mihai-Daniel Chiroiu, Costin Raiciu
ESORICS (2)3
2024 I've Got 99 Problems But FLOPS Ain't One
abstract
Hyperscalers dominate the landscape of large network deployments, yet they rarely share data or insights about the challenges they face. In light of this supremacy, what problems can we find to solve in this space? We take an unconventional approach to find relevant research directions, starting from public plans to build a $100 billion datacenter for machine learning applications [53]. Leveraging the language models scaling laws, we discover what workloads such a datacenter might carry and explore the challenges one may encounter in doing so, with a focus on networking research. We conclude that building the datacenter and training such models is technically possible, but this requires novel wide-area transports for inter-DC communication, a multipath transport and novel datacenter topologies for intra-datacenter communication, high speed scale-up networks and transports, outlining a rich research agenda for the networking community.
Alexandru M. Gherghescu, Vlad-Andrei Badoiu, Alexandru Agache, Mihai-Valentin Dumitru, Iuliu Vasilescu, Radu Mantu, Costin Raiciu
HotNets7
2024 Generating P4 Dataplanes Using LLMs
abstract
Large Language Models (LLMs) have recently become the source of impressive results in code generation, but there are still areas left neglected. Virtually all small and mediumsized LLMs are unable to produce code in P4, the most popular language for programmable dataplanes. Automatically generating dataplane code carries the promise of flexible networks that can quickly adapt to their specific conditions at the lowest level. P4 is structurally simpler than general-purpose languages, but also offers a much smaller corpus of existing programs, thus setting up interesting challenges for deep-learning based code generation. In this paper, we set out to investigate the extent to which current State-of-the-Art LLMs can produce P4 code and we push these boundaries by experimenting with finetuning to produce code generators that are open, robust and use low resources (1B-3B parameters). To evaluate the quality of the generated code, we have developed a novel benchmark for P4 auto-completion tasks. Our results show that fine-tuned models using the specialized dataset outperform ChatGPT 4 and Gemini Ultra, both in terms of compilability and alignment.
Mihai-Valentin Dumitru, Vlad-Andrei Badoiu, Alexandru M. Gherghescu, Costin Raiciu
HPSR4
2024 Towards automatic exploitation of programmable networks
abstract
P4 verification works have found numerous bugs in programs of various sizes. While existing tools are efficient in finding bugs such as invalid header accesses, little effort has been put in understanding the potential impact of these bugs against the network. In this paper, we investigate whether these bugs can expose security vulnerabilities similar to those studied extensively for commodity CPUs. This work presents the design and implementation of HackP4 – a tool which makes use of static and dynamic analysis techniques to assess security properties of P4 dataplanes. HackP4 discovers vulnerabilities in P4 programs and automatically generates security exploits if they exist; otherwise, it provides guarantees of their absence. We present the results of running HackP4 against several P4 programs and show the kind of vulnerabilities it is able to capture. Finally, we discuss best practices for mitigating bugs and minimizing the impact of vulnerabilities.
Mihai-Valentin Dumitru, Dragos Dumitrescu, Costin Raiciu
NetSoft3
2024 Charting the Complexity Landscape of Compiling Packet Programs to Reconfigurable Switches
abstract
P4 is a widely used Domain-specific Language for Programmable Data Planes. A critical step in P4 compilation is finding a feasible and efficient mapping of the high-level P4 source code constructs to the physical resources exposed by the underlying hardware, while meeting data and control flow dependencies in the program. In this paper, we take a new look at the algorithmic aspects of this problem, with the motivation to understand the fundamental theoretical limits and obtain better P4 pipeline embeddings, and to speed up practical P4 compilation times for RMT and dRMT target architectures. We report mixed results: we find that P4 compilation is computationally hard even in a severely relaxed formulation, and there is no polynomial-time approximation of arbitrary precision (unless$\mathcal {P}$=$\mathcal {N}$$\mathcal {P}$), while the good news is that, despite its inherent complexity, P4 compilation is approximable in linear time with a small constant bound even for the most complex, nearly real-life models.
Balázs Vass, Erika R. Kovács, Ádám Fraknói, Costin Raiciu, Gábor Rétvári
IEEE/ACM Trans. Netw.4
2023 Nephele: Extending Virtualization Environments for Cloning Unikernel-based VMs
abstract
Unikernels gained an increasing interest in the recent years because they provide efficient resource allocation and high performance for cloud services by bundling the application with a minimal set of OS services in a guest VM. Although a unikernel is by design small and lightweight, fleets of unikernels based on the same image are not necessarily more efficient than containers because the latter can rely upon OS primitives for sharing memory. Futhermore, porting POSIX applications on top of unikernels brings a new challenge: what does fork() mean in the world of unikernels where there is memory isolation within a VM? Lacking fork() support significantly reduces the applicability of unikernels in popular cloud applications.
Costin Lupu, Andrei Albisoru, Radu Nichita, Doru-Florin Blânzeanu, Mihai Pogonaru, Razvan Deaconescu, Costin Raiciu
EuroSys7
2022 FlexOS: towards flexible OS isolation
abstract
At design time, modern operating systems are locked in a specific safety and isolation strategy that mixes one or more hardware/software protection mechanisms (e.g. user/kernel separation); revisiting these choices after deployment requires a major refactoring effort. This rigid approach shows its limits given the wide variety of modern applications' safety/performance requirements, when new hardware isolation mechanisms are rolled out, or when existing ones break.
Hugo Lefeuvre, Vlad-Andrei Badoiu, Alexander Jung 0002, Stefan Teodorescu, Sebastian Rauch, Felipe Huici, Costin Raiciu, Pierre Olivier
ASPLOS7
2022 An edge-queued datagram service for all datacenter traffic
Vladimir Andrei Olteanu, Haggai Eran, Dragos Dumitrescu, Adrian Popa, Cristi Baciu, Mark Silberstein, Georgios Nikolaidis, Mark Handley, Costin Raiciu
NSDI9
2021 Unikraft: fast, specialized unikernels the easy way
abstract
Unikernels are famous for providing excellent performance in terms of boot times, throughput and memory consumption, to name a few metrics. However, they are infamous for making it hard and extremely time consuming to extract such performance, and for needing significant engineering effort in order to port applications to them. We introduce Unikraft, a novel micro-library OS that (1) fully modularizes OS primitives so that it is easy to customize the unikernel and include only relevant components and (2) exposes a set of composable, performance-oriented APIs in order to make it easy for developers to obtain high performance.
Simon Kuenzer, Vlad-Andrei Badoiu, Hugo Lefeuvre, Sharan Santhanam, Alexander Jung 0002, Gaulthier Gain, Cyril Soldani, Costin Lupu, Stefan Teodorescu, Costi Raducanu, Cristian Banu, Laurent Mathy, Razvan Deaconescu, Costin Raiciu, Felipe Huici
EuroSys14
2021 FlexOS: making OS isolation flexible
abstract
OS design is traditionally heavily intertwined with protection mechanisms. OSes statically commit to one or a combination of (1) hardware isolation, (2) runtime checking, and (3) software verification early at design time. Changes after deployment require major refactoring; as such, they are rare and costly. In this paper, we argue that this strategy is at odds with recent hardware and software trends: protections break (Meltdown), hardware becomes heterogeneous (Memory Protection Keys, CHERI), and multiple mechanisms can now be used for the same task (software hardening, verification, HW isolation, etc). In short, the choice of isolation strategy and primitives should be postponed to deployment time.
Hugo Lefeuvre, Vlad-Andrei Badoiu, Stefan Teodorescu, Pierre Olivier, Tiberiu Mosnoi, Razvan Deaconescu, Felipe Huici, Costin Raiciu
HotOS8
2020 MPCC: online learning multipath transport
abstract
Multipath transport, as embodied in MPTCP, is deployed to improve throughput and reliability in mobile and residential access networks, with additional use-cases including spreading load in data centers and WANs. However, MPTCP is fundamentally tied to TCP Reno's legacy AIMD algorithm, and significantly lags behind the performance of modern single-path designs. Consequently, MPTCP fails to achieve high performance in many real-world environments.
Tomer Gilad, Neta Rozen Schiff, Brighten Godfrey, Costin Raiciu, Michael Schapira
CoNEXT4
2020 bf4: towards bug-free P4 programs
abstract
Recent verification work has made advances in finding bugs in P4 programs before deployment, but it requires that the programmer specifies table rules that are possible at runtime[32, 24, 27]. This imposes a specification burden on the programmer, while at the same time failing to guarantee that bugs will not be inserted at runtime by faulty controllers. We present bf4, a novel verification approach for P4 programs that uses a mix of static verification, code changes and runtime checks to ensure that the deployed P4 program is bug free. To achieve this, bf4 uses static analysis to find all possible bugs in the P4 program; for each possible bug, bf4 attempts to find predicates that, when applied to table rules inserted by the controller, make that bug unreachable. If such predicates do not exist, bf4 can change the P4 code and re-run the procedure above. We applied bf4 to a wide range of P4 programs; for all these, bf4 is able to generate controller assertions and propose fixes that guarantee no controller-induced bug is reachable. At runtime, bf4 checks that the controller does not insert faulty rules; when it does, it throws an exception which helps troubleshoot the bug.
Dragos Dumitrescu, Radu Stoenescu, Lorina Negreanu, Costin Raiciu
SIGCOMM4
2019 Dataplane equivalence and its applications
Dragos Dumitrescu, Radu Stoenescu, Matei Popovici, Lorina Negreanu, Costin Raiciu
NSDI5
2018 Secure Opportunistic Multipath Key Exchange
abstract
The security of today's widely used communication security protocols is based on trust in Certificate Authorities (CAs). However, the real security of this approach is debatable, since certificate handling is tedious and many recent attacks have undermined the trust in CAs. On the other hand, opportunistic encryption protocols such as Tcpcrypt, which are currently gaining momentum as an alternative to no encryption, have similar security to using untrusted CAs or self-signed certificates: they only protect against passive attackers. In this paper, we present a key exchange protocol, Secure Multipath Key Exchange (SMKEX), that enables all the benefits of opportunistic encryption (no need for trusted third parties or pre-established secrets), as well as proven protection against some classes of active attackers. Furthermore, SMKEX can be easily extended to a trust-on-first-use setting and can be easily integrated with TLS, providing the highest security for opportunistic encryption to date while also increasing the security of standard TLS. We show that SMKEX is made practical by the current availability of path diversity between different AS-es. We also show a method to create path diversity with encrypted tunnels without relying on the network topology. These allow SMKEX to provide protection against most adversaries for a majority of Alexa top 100 web sites. We have implemented SMKEX using a modified Multipath TCP kernel implementation and a user library that overwrites part of the socket API, allowing unmodified applications to take advantage of the security provided by SMKEX.
Sergiu Costea, Marios O. Choudary, Doru Gucea, Björn Tackmann, Costin Raiciu
CCS5
2018 Stateless Datacenter Load-balancing with Beamer
Vladimir Andrei Olteanu, Alexandru Agache, Andrei Voinescu, Costin Raiciu
NSDI4
2018 Debugging P4 programs with vera
abstract
We present Vera, a tool that verifies P4 programs using symbolic execution. Vera automatically uncovers a number of common bugs including parsing/deparsing errors, invalid memory accesses, loops and tunneling errors, among others. Vera can also be used to verify user-specified properties in a novel language we call NetCTL. To enable scalable, exhaustive verification of P4 program snapshots, Vera automatically generates all valid header layouts and uses a novel data-structure for match-action processing optimized for verification. These techniques allow Vera to scale very well: it only takes between 5s-15s to track the execution of a purely symbolic packet in the largest P4 program currently available (6KLOC) and can compute SEFL model updates in milliseconds. Vera can also explore multiple concrete dataplanes at once by allowing the programmer to insert symbolic table entries; the resulting verification highlights possible control plane errors. We have used Vera to analyze many P4 programs including the P4 tutorials, P4 programs in the research literature and the switch code from https://p4.org. Vera has found several bugs in each of them in seconds/minutes.
Radu Stoenescu, Dragos Dumitrescu, Matei Popovici, Lorina Negreanu, Costin Raiciu
SIGCOMM5
2017 CloudTalk: Enabling Distributed Application Optimisations in Public Clouds
abstract
Clouds offer an opaque I/O API to their customers: details of the underlying resources (network topology, disk drives) or their current load are kept hidden. Tenants can profile the I/O performance in their VMs and optimise accordingly, but the side effect is increased load. Certain cloud providers try to discourage profiling by enforcing strict I/O isolation, at the cost of reduced utilisation in the average case. In this paper we challenge this status quo and propose CloudTalk, an API that allows tenants to communicate with the cloud provider and receive hints used to optimise their workloads.
Alexandru Agache, Mihai Ionescu, Costin Raiciu
EuroSys3
2017 Integrating Verification and Repair into the Control Plane
abstract
Network verification has made great progress recently, yet existing solutions are limited in their ability to handle specific protocols or implementation quirks or to diagnose and repair the cause of policy violations. In this positioning paper, we examine whether we can achieve the best of both worlds: full coverage of control plane protocols and decision processes combined with the ability to diagnose and repair the cause of violations. To this end, we leverage the happens-before relationships that exist between control plane I/Os (e.g., route advertisements and forwarding updates). These relationships allow us to identify when it is safe to employ a data plane verifier and track the root-cause of problematic forwarding updates. We show how we can capture errors before they are installed, automatically trace down the source of the error and roll-back the updates whenever possible.
Aaron Gember, Costin Raiciu, Laurent Vanbever
HotNets2
2017 Re-architecting datacenter networks and stacks for low latency and high performance
abstract
Modern datacenter networks provide very high capacity via redundant Clos topologies and low switch latency, but transport protocols rarely deliver matching performance. We present NDP, a novel data-center transport architecture that achieves near-optimal completion times for short transfers and high flow throughput in a wide range of scenarios, including incast. NDP switch buffers are very shallow and when they fill the switches trim packets to headers and priority forward the headers. This gives receivers a full view of instantaneous demand from all senders, and is the basis for our novel, high-performance, multipath-aware transport protocol that can deal gracefully with massive incast events and prioritize traffic from different senders on RTT timescales. We implemented NDP in Linux hosts with DPDK, in a software switch, in a NetFPGA-based hardware switch, and in P4. We evaluate NDP's performance in our implementations and in large-scale simulations, simultaneously demonstrating support for very low-latency and high throughput.
Mark Handley, Costin Raiciu, Alexandru Agache, Andrei Voinescu, Andrew W. Moore 0002, Gianni Antichi, Marcin Wójcik
SIGCOMM2
2017 My VM is Lighter (and Safer) than your Container
abstract
Containers are in great demand because they are lightweight when compared to virtual machines. On the downside, containers offer weaker isolation than VMs, to the point where people run containers in virtual machines to achieve proper isolation. In this paper, we examine whether there is indeed a strict tradeoff between isolation (VMs) and efficiency (containers). We find that VMs can be as nimble as containers, as long as they are small and the toolstack is fast enough.
Filipe Manco, Costin Lupu, Florian Schmidt 0002, Jose Mendes, Simon Kuenzer, Sumit Sati, Kenichi Yasukata, Costin Raiciu, Felipe Huici
SOSP8
2016 Exploiting Multipath Congestion Control for Fun and Profit
abstract
Multipath congestion control prefers sending more traffic over paths with lower loss rates. This behaviour is key to achieving resource pooling and efficiently allocating resources in multipath networks. However, loss rates can be manipulated in the Internet by service providers to trick multipath traffic to travel via different paths. We show how providers can use policy drop to artificially increase the loss rate for all traffic using information about client subscriptions (i.e. speed of access links) and per-connection RTTs such that regular TCP throughput is unaffected, and Multipath TCP traffic is rerouted to other paths when alternatives exist. Policy drop is cheap: our prototype does not hold per flow state and can process in excess of 64B 9Mbps on a single machine, or 40Gbps with Internet-sized packets. Finally, we use game theory to understand the implications of policy drop on the Internet ecosystem. Our results show that policy drop will be widely deployed for low-bandwidth subscriptions, and may be deployed for higher-throughput subscriptions too.
Matei Popovici, Costin Raiciu
HotNets2
2016 OpenStack networking for humans: Symbolic execution to the rescue
abstract
Neutron is the OpenStack component that implements networking and it has been mocked and derided the weakest line in OpenStack [11]. We propose to use network symbolic execution to improve Neutron's ability to correctly implement tenant policies and to provide tenant traffic isolation. We propose to apply symbolic execution on two different OpenStack layers: the tenant view of the network and the actual deployment. Analyzing the tenant view is useful in many ways; first, it helps the tenant better understand its configuration's behavior before deployment. Secondly, its outputs can be compared to the analysis of the deployment to check if they are equivalent. We have built a prototype implementation and conducted preliminary evaluation, finding that we can verify our department's OpenStack deployment in seconds and detect certain common Neutron problems.
Radu Stoenescu, Dragos Dumitrescu, Costin Raiciu
LANMAN3
2016 SymNet: Scalable symbolic execution for modern networks
abstract
We present SymNet, a network static analysis tool based on symbolic execution. SymNet injects symbolic packets and tracks their evolution through the network. Our key novelty is SEFL, a language we designed for expressing data plane processing in a symbolic-execution friendly manner. SymNet statically analyzes an abstract data plane model that consists of the SEFL code for every node and the links between nodes. SymNet can check networks containing routers with hundreds of thousands of prefixes and NATs in seconds, while verifying packet header memory-safety and covering network functionality such as dynamic tunneling, stateful processing and encryption. We used SymNet to debug mid- dlebox interactions from the literature, to check properties of our department’s network and the Stanford backbone. Modeling network functionality is not easy. To aid users we have developed parsers that automatically generate SEFL models from router and switch tables, firewall configura- tions and arbitrary Click modular router configurations. The parsers rely on prebuilt models that are exact and fast to an- alyze. Finally, we have built an automated testing tool that combines symbolic execution and testing to check whether the model is an accurate representation of the real code.
Radu Stoenescu, Matei Popovici, Lorina Negreanu, Costin Raiciu
SIGCOMM4
2015 In-Net: in-network processing for the masses
abstract
Network Function Virtualization is pushing network operators to deploy commodity hardware that will be used to run middlebox functionality and processing on behalf of third parties: in effect, network operators are slowly but surely becoming in-network cloud providers. The market for innetwork clouds is large, ranging from content providers, mobile applications and even end-users.
Radu Stoenescu, Vladimir Andrei Olteanu, Matei Popovici, Mohamed Ahmed 0001, Roberto Bifulco, Filipe Manco, Felipe Huici, Georgios Smaragdakis, Mark Handley, Costin Raiciu
EuroSys11
2015 Increasing Datacenter Network Utilisation with GRIN
Alexandru Agache, Razvan Deaconescu, Costin Raiciu
NSDI3
2015 Towards Wifi Mobility without Fast Handover
Andrei Croitoru, Dragos Niculescu, Costin Raiciu
NSDI3
2014 Using Cooperation for Low Power Low Latency Cellular Connectivity
abstract
Mobile devices today rely on cellular (3G or LTE) connectivity because it has ubiquitous coverage. Unfortunately cellular links are energy hungry at low bit-rates and have high round-trip times after idle periods. These characteristics punish common mobile applications such as web browsing and streaming, decreasing battery life and user satisfaction.
Catalin Nicutar, Dragos Niculescu, Costin Raiciu
CoNEXT3
2014 ClickOS and the Art of Network Function Virtualization
Mohamed Ahmed 0001, Costin Raiciu, Vladimir Andrei Olteanu, Michio Honda, Roberto Bifulco, Felipe Huici
NSDI3
2012 How Hard Can It Be? Designing and Implementing a Deployable Multipath TCP
Costin Raiciu, Christoph Paasch, Sébastien Barré, Alan Ford, Michio Honda, Fabien Duchene 0001, Olivier Bonaventure, Mark Handley
NSDI1
2012 Efficiently migrating stateful middleboxes
abstract
No abstract available.
Vladimir Andrei Olteanu, Costin Raiciu
SIGCOMM2
2011 Is it still possible to extend TCP?
abstract
We've known for a while that the Internet has ossified as a result of the race to optimize existing applications or enhance security. NATs, performance-enhancing-proxies,firewalls and traffic normalizers are only a few of the middleboxes that are deployed in the network and look beyond the IP header to do their job. IP itself can't be extended because "IP options are not an option". Is the same true for TCP?
Michio Honda, Yoshifumi Nishida, Costin Raiciu, Adam Greenhalgh, Mark Handley, Hideyuki Tokuda
Internet Measurement Conference3
2011 Design, Implementation and Evaluation of Congestion Control for Multipath TCP
Damon Wischik, Costin Raiciu, Adam Greenhalgh, Mark Handley
NSDI2
2011 Improving datacenter performance and robustness with multipath TCP
abstract
The latest large-scale data centers offer higher aggregate bandwidth and robustness by creating multiple paths in the core of the net- work. To utilize this bandwidth requires different flows take different paths, which poses a challenge. In short, a single-path transport seems ill-suited to such networks.
Costin Raiciu, Sébastien Barré, Christopher Pluntke, Adam Greenhalgh, Damon Wischik, Mark Handley
SIGCOMM1
2010 Data center networking with multipath TCP
abstract
Recently new data center topologies have been proposed that offer higher aggregate bandwidth and location independence by creating multiple paths in the core of the network. To effectively use this bandwidth requires ensuring different flows take different paths, which poses a challenge.
Costin Raiciu, Christopher Pluntke, Sébastien Barré, Adam Greenhalgh, Damon Wischik, Mark Handley
HotNets1
2010 Experimenting with multipath TCP
abstract
It is becoming the norm for small mobile devices to have access to multiple technologies for connecting to the Internet. This gives researchers an increasing interest for solutions allowing to use efficiently several communication mediums. We propose a demonstration of our Multipath TCP implementation for Linux, that allows spreading a single TCP flow across multiple Internet paths, without requiring any change to applications. The demonstration will involve a real Internet communication with MPTCP, with simultaneous use of several paths, as well as a demonstration of MPTCP failover capability.
Sébastien Barré, Olivier Bonaventure, Costin Raiciu, Mark Handley
SIGCOMM3
2009 ROAR: increasing the flexibility and performance of distributed search
abstract
To search the web quickly, search engines partition the web index over many machines, and consult every partition when answering a query. To increase throughput, replicas are added for each of these machines. The key parameter of these algorithms is the trade-off between replication and partitioning: increasing the partitioning level improves query completion time since more servers handle the query, but may incur non-negligible startup costs for each sub-query. Finding the right operating point and adapting to it can significantly improve performance and reduce costs.
Costin Raiciu, Felipe Huici, Mark Handley, David S. Rosenblum
SIGCOMM1
2008 Preventing Memory Error Exploits with WIT
abstract
Attacks often exploit memory errors to gain control over the execution of vulnerable programs. These attacks remain a serious problem despite previous research on techniques to prevent them. We present write integrity testing (WIT), a new technique that provides practical protection from these attacks. WIT uses points-to analysis at compile time to compute the control-flow graph and the set of objects that can be written by each instruction in the program. Then it generates code instrumented to prevent instructions from modifying objects that are not in the set computed by the static analysis, and to ensure that indirect control transfers are allowed by the control-flow graph. To improve coverage where the analysis is not precise enough, WIT inserts small guards between the original program objects. We describe an efficient implementation with optimizations to reduce space and time overhead. This implementation can be used in practice because it compiles C and C++ programs without modifications, it has high coverage with no false positives, and it has low overhead. WIT's average runtime overhead is only 7% across a set of CPU intensive benchmarks and it is negligible when IO is the bottleneck.
Periklis Akritidis, Cristian Cadar, Costin Raiciu, Manuel Costa, Miguel Castro 0001
SP3
2006 Reducing Congestion Effects in Wireless Networks by Multipath Routing
abstract
We propose a solution to improve fairness and increase throughput in wireless networks with location information. Our approach consists of a multipath routing protocol, biased geographical routing (BGR), and two congestion control algorithms, in-network packet scatter (IPS) and end-to-end packet scatter (EPS), which leverage BGR to avoid the congested areas of the network. BGR achieves good performance while incurring a communication overhead of just 1 byte per data packet, and has a computational complexity similar to greedy geographic routing. IPS alleviates transient congestion by splitting traffic immediately before the congested areas. In contrast, EPS alleviates long term congestion by splitting the flow at the source, and performing rate control. EPS selects the paths dynamically, and uses a less aggressive congestion control mechanism on non-greedy paths to improve energy efficiency. Simulation and experimental results show that our solution achieves its objectives. Extensive ns-2 simulations show that our solution improves both fairness and throughput as compared to single path greedy routing. Our solution reduces the variance of throughput across all flows by 35%, reduction which is mainly achieved by increasing throughput of long-range flows with around 70%. Furthermore, overall network throughput increases by approximately 10% Experimental results on a 50- node testbed are consistent with our simulation results, suggesting that BGR is effective in practice.
Lucian Popa 0002, Costin Raiciu, Ion Stoica, David S. Rosenblum
ICNP2
2004 Using code collection to support large applications on mobile devices
abstract
The progress of mobile device technology unfolds a new spectrum of applications that challenges conventional infrastructure models. Most of these devices are perceived by their users as "appliances" rather than computers and accordingly the application management should be done transparently by the underlying system unlike classic applications managed explicitly by the user. Memory management on such devices should consider new types of mobile applications involving code mobility such as mobile agents, active networks and context aware applications. This paper describes a new code management technique, called "code collection " and proposes a specific code collection algorithm, the Adaptive Code Collection Algorithm (ACCAL). Code collection is a mechanism for transparently loading and discarding application components on mobile devices at runtime that is designed to permit very low memory usage and at the same time good performance by focusing memory usage on the hotspots of the application. To achieve these goals, ACCAL uses properties specific to executable code and enhances conventional data management methods such as garbage collection and caching. The results show that fine-grained code collection allows large applications to execute by using significantly less memory while inducing small execution time overhead.
Lucian Popa 0002, Irina Athanasiu, Costin Raiciu, Raju Pandey, Radu Teodorescu
MobiCom3