Multi-scheduling technique for real-time systems on embedded multi-core processors
- Global styles
- Apa
- Bibtex
- Chicago Fullnote
- Help
Abstract
Son yıllarda yapılan çalışmalar ve ortaya çıkan ihtiyaçlar günümüz gömülü sistemlerinin hem gerçek zamanlama yeteneğine hem de genel yeteneklere aynı anda ihtiyaç duyduğunu göstermektedir. Bu iki yeteneği aynı sistem üzerinde gerçekleştirebilmek için birçok araştırmalar, çalışma altyapıları ve farklı teknikler geliştirilmiştir. Çok çekirdekli işlemciler üzerinde birden fazla ve farklı işletim sistemlerinin bir arada çalışmasını sağlayan yaklaşım sistem geliştiriciler arasında en yaygın olanıdır. Yine de heterojen yaklaşımda işletim sistemlerinden bir tanesinde meydana gelecek kritik bir hata tüm sistemin çalışmasını engelleyebilir. Bu yaklaşımın dışında, son zamanlarda harici ve parça tabanlı olmak üzere farklı görev zamanlayıcı teknikleri genel işletim sistemlerine gerçek zamanlama yeteneğini heterojen yaklaşım kullanmadan kazandırmak amaçlı geliştirilmiştir.Bu tez çalışmasında çok çekirdekli donanımlarda heterojen işletim sistemleri çalıştırmayan Çoklu görev zamanlama (Multi-scheduling) ismini verdiğimiz yöntem sunulmaktadır. Bu yöntemde bir işletim sistem içerisinde iki farklı görev zamanlayıcı farklı işlemci çekirdekleriüzerinde çalıştırılmaktadır. Görev zamanlayıcılardan bir tanesi gerçek zamanlı görevler, diğerİ ise genel ya da gerçek zamanlı olmayan görevler içindir. Heterojen sistemlerde işletim sistemlerinden bir tanesi düşük kesilme gecikmesi gibi gerçek zamanlama yetenekleri sunarken, diğer genel amaçlı işletim sistemi de genel amaçlı görevlerde kullanılmaktadır. Ne yazık ki heterojen yaklaşımda gerçek zamanlı ve genel görevler birbirlerinden ayrılmış farklı işletim sistemlerinde çalıştığından sistem tasarımda ve görevler arası iletişimde bazı sorunlara ve zorluklara sebep olmaktadır. Bu çalışmada sunulan çoklu görev zamanlayıcı yönteminde gerçek zamanlı ve genel görevler aynı işletim sisteminde dolayısıyla aynı çevrede çalıştığından bütün sistemin bakımı ve geliştirimi daha kolay olmaktadır.Bu çalışma gömülü sistemlerde ve endüstride birçok kullanım alanına sahip olmasından ve iyi belgelenmesinden dolayı Linux işletim sistemi üzerinde gerçekleştirilmiştir. Linux işletim sisteminin Simetrik çoklu işleme (Symmetric-Multiprocessing) özelliğinin olduğu bazı kesimler değiştirilerek iki farklı görev zamanlayıcının aynı işletim sistemi üzerinde farklı çekirdeklerde çalışması sağlanmıştır. Ayrıca kullanıcılar için bu tekniği yöneten bir de uygulama hazırlanmıştır.Çalışmada geliştirilen yöntem gerçek zamanlı uygulamaların ihtiyaçlarını baz alan ve dünya genelinde kabul görmüş test araçları ve uygulamaları kullanılarak değerlendirilmiş ve yorumlanmıştır. Özellikle kesilme gecikmelerinde gözlemlenen yöntemin kullanılmadığı standart sistemlere göre yaklaşık iki katı iyileştirme ve sistemin ani olaylara daha kararlı cevap vermesi sunduğumuz yöntemin faydalı ve kullanışlı olabileceğini ortaya koymaktadır. Recent studies have shown that today's embedded systems require not only real-time ability but also general functionality. In order to provide these two functionalities on same system, many researches, techniques and frameworks have been developed. Integrating multiple operating systems on a Multi-core processor is one of the most favorite approaches for system designers. However, in this heterogeneous approach, failure in one of the operating systems can cause the whole system to come down. Moreover, in recent years many scheduling techniques such as external and partition-based scheduling have been developed to provide real-time ability for general purpose systems in single operating system without using heterogeneous approach.This thesis introduces Multi-scheduling method for Multi-core hardware platforms without running heterogeneous operating systems concurrently. In this technique, there are two schedulers in single operating system. One of them is for real-time applications and the other is for general or non-real-time applications. In heterogeneous operating systems approach, a real time operating system services real-time functionality such as low interrupt latency while a versatile operating system processes IT applications. Unfortunately, Real-time and ITapplications are isolated and run on different operating system environments. This may cause some problems in system design and Inter-Process-Communication (IPC). In Multi-scheduling approach, Real-time and IT applications run in the same operating system environment so the implementation and maintenance of the system become easier.We implemented our work on Linux, widely used general purpose operating system for embedded and industrial systems. By modifying Symmetric-Multiprocessing (SMP) technique in Linux, two schedulers are enabled to run on same kernel and each of them runs on different CPU cores. Our proposed technique is tested by real-time de-facto test tools and programs accepted all over the world. The most important characteristic of a real-time application such as low interrupt latency and responsiveness were benchmarked. The results show that Multi-scheduling technique can be profitable to bring the real-time functionality to general operating system as in heterogeneous approach.
Collections