Abstract
Our process scheduling algorithm was created with the help of circular linked list and skip ring data structures and algorithms. Skip ring data structure consists of circular link lists formed in layers which are linked in a canonical way. Time complexity of search, insertion and deletion equals to O (lgN) in an N-element skip ring data structure. Therefore, skip ring data structure is employed more effectively (O(lgN)) in circumstances where circular linked lists (O(N)) are used. In this paper, the applications of data structures such as red–black tree, binary search tree and skip ring were performed and the obtained results were compared. The obtained results demonstrated that skip ring data structure is superior to red–black tree and binary search tree. Process scheduling is the most important part of operating systems. Linux operating system (version 6.23) uses Completely Fair Scheduler for process scheduling by using red–black tree data structures, Whereas skip ring data structure can be used effectively instead of red–black tree data structure. A new algorithm for process scheduling which was called as Fair Priority Scheduling was proposed in this paper.
Similar content being viewed by others
References
Aksu, M.; Karcı, A.; Yılmaz, Ş.: Level optimization in Skip List data structure. In: Proceedings of the 1st International Symposium on Innovative Technologies in Engineering and Science (ISITIES2013). pp. 389-396 (2013)
Aksu, M.; Karcı, A.; Yılmaz, Ş.: Effects of P threshold values in creation of random level and to the performance of skip list data structure. Bitlis Eren Univ. J. Sci. 2(2), 148–153 (2013)
Cormen, T.; Leiserson, C.; Rivest, R.; Stein, C.: Introduction to Algorithms. MIT Press, London (2009)
McMillan, M.: Data Structures and Algorithms Using C#. Cambridge University Press, New York (2007)
Shaffer, C.A.: Data Structures & Algorithm Analysis in C++. Dover Publications, Mineola (2011)
Colvin, R.; Groves, L.; Luchangco, V.; Moir, M.: Formal verification of a lazy concurrent list-based set. In: Proceedings of the Computer Aided Verification, Lecture Notes in Computer Science. 4144, 475–488 (2006)
Herlihy, M.; Lev, Y.; Luchangco, V.; Shavit, N.: A simple optimistic skiplist algorithm. In: Proceedings of the Structural Information and Communication Complexity. Lecture Notes in Computer Science. 4474, pp. 124–138 (2007)
Pugh, W.: Skip lists: a probabilistic alternative to balanced trees. Commun. ACM 33(6), 668–676 (1990)
Kirschenhofer, P.; Prodinger, H.: The path length of random skip lists. Acta Inf. 31(8), 775–792 (1994)
Papadakis, T.: Skip lists and probabilistic analysis of algorithms. PhD Thesis. University of Waterloo. Tech. Report CS-93-28, (1993)
Poblete, P.V.; Munro, J.I.; Papadakis, T.: The binomial transform and the analysis of skip lists. Theor.Comput. Sci. 352, 136–158 (2006)
Munro, J. I.; Papadakis, T.; Poblete, P.V.: Deterministic skip lists. In: Proceedings of the SODA ’92 Proceedings of the third annual ACM-SIAM symposium on Discrete algorithms. pp. 367–375 (1992)
Pugh, W.: A Skip List Cookbook. Dept. of Computer Science, University of Maryland. College Park. Technical report. CS–TR–2286.1. (1990)
Pugh, W.: Concurrent Maintenance of Skip Lists. Dept. of Computer Science. University of Maryland. College Park. Technical report. TR–2222.1. (1989)
Lotan, I.; Shavit, N.: SkipList-Based Concurrent Priority Queues. In: Proceedings of International Parallel and Distributed Processing Symposium. Mexico, pp. 263–268 (2000)
Aspnes, J.; Shah, G.: Skip graphs. In: Proceedings of the 14th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA). pp. 384–393 (2003)
Clouser, T.; Nesterenko, M.; Scheideler, C.: Tiara: a self-stabilizing deterministic skip list and skip graph. Theor. Comput. Sci. 428, 18–35 (2012)
Nor, R.M.; Nesterenko, M.; Scheideler, C.: Corona: a stabilizing deterministic message-passing skip list. Theor. Comput. Sci. 512, 119–129 (2013)
Bose, P.; Douïeb, K.; Morin, P.: Skip lift: a probabilistic alternative to red-black trees. J. Discrete Alg. 14, 13–20 (2012)
Abraham, I.; Aspnes, J.; Yuan, J.: Skip B-trees. Principles of Distributed Systems. In: 9th International Conference. OPODIS 2005, Italy, pp. 366–380 (2005)
Aksu, M.; Karcı, A.: Skip ring/circular skip list: circular linked list based new data structure. Comput. Eng. Intell. Syst. 6(5), 35–41 (2015)
Cheng, G.: A comparison of two linux schedulers. Master Thesis. Department of Informatics. University of Oslo. Oslo, Norway (2012)
Dinnen, M.J.; Gimel’farb, G.; Wilson, M.C.: Introduction to Algorithms. Data Structures and Formal Languages., 2nd edn. Pearson/Prentice-Hall, Auckland (2009)
Besa, J.; Eterovic, Y.: A concurrent red-black tree. J. Parallel Distrib. Comput. 73, 434–449 (2013)
Pfenning, F.: Red/Black Trees. Department of Computer Science. Carnegie Mellon University. Lecture Notes in Computer Science. pp. 2–15 (2010)
Silberschatz, A.; Galvin, P.B.; Gagne, G.: Operating System Concepts, 8th edn. Wiley, Hoboken (2009)
Jones, M. T.: Inside the linux 2.6 completely fair scheduler. IBM developer Works. pp. 1–8 (2009).
Kobusiński, J.; Gorski, F.; Stempin, S.: Skip ring topology in FAST failure detection service. Parall. Process. Appl. Math. 4967, 29–38 (2008)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Aksu, M., Karcı, A. Fair Priority Scheduling (FPS): A Process Scheduling Algorithm Based on Skip Ring Data Structure. Arab J Sci Eng 42, 677–689 (2017). https://doi.org/10.1007/s13369-016-2288-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13369-016-2288-y