A parallel algorithm for Lagrange interpolation on the cube-connected cycles H. Sarbazi-Azad a , M. Ould-Khaoua b, * , L.M. Mackenzie a a Department of Computing Science, University of Glasgow, Glasgow G12 8QQ, UK b Department of Computer Science, University of Strathclyde, Glasgow G1 1XH, UK Received 12 May 1999; received in revised form 21 December 1999; accepted 17 January 2000 Abstract This paper introduces a parallel algorithm for computing an N n2 n point Lagrange interpolation on an n-dimensional cube-connected cycles (CCC n ). The algorithm consists of three phases: initialisation, main and final. While there is no computation in the initialisation phase, the main phase is composed of n2 n-1 steps, each consisting of four multiplications, four subtractions and one communication operation, and an additional step including one division and one multiplication. The final phase is carried out in two sub-phases. There are ⌈n=2⌉ steps in the first sub-phase, each including two additions and one communication, followed by the second sub-phase which comprises n steps each consisting of one addition and two communication operations. 2000 Elsevier Science B.V. All rights reserved. Keywords: Interconnection networks; Cube-connected cycles; Parallel algorithms; Lagrange interpolation 1. Introduction The cube-connected cycle (or CCC for short) has been introduced by Preparata and Vuillamin [14] as a practical substitute for the well-known hypercube. The CCC over- comes the scalability problem, e.g. increased node degree as the network size scales up, associated with the hypercube topology, while maintaining most of its desirable properties, such as rich and powerful connectivity and good routing capabilities [11]. The CCC also exhibits a strong structural relationship to other network topologies such as deBrujin, shuffle-exchange and butterfly networks [1,7,11]. Several important aspects, including mapping and VLSI layout of the CCC have been widely studied in the past [3,5,6,10,12,13]. Interpolation techniques are of great importance in numerical analysis since they are widely used in a variety of science and engineering domains where numerical solu- tion is the only way to predict the value of a tabulated function for new input data. Many methods have been proposed of which Lagrange interpolation is one of the best known techniques. Lagrange interpolation [16] for a given set of points (x 0 , y 0 ), (x 2 , y 2 ),…,(x N-1 , y N-1 ) and the value x is carried out via the formula f x X N - 1 i0 y i L i x 1 where the term L i is called a Lagrange polynomial, and is given by: L i x Y N - 1 j0 x - x j x i - x j ; j i 2 When the number of points, N, is very large, long compu- tation time and large storage capacity may be required to carry out the above computation. To overcome this, several authors have proposed parallel implementations for the Lagrange interpolation. For instance, Capello et al. [4] have described an algorithm using 2N - 1 steps on N/2 processors where each step, after implementation, requires two subtractions, two multiplications and one division. Goertzel [8] has introduced a parallel algorithm suitable for a tree topology with N processors, augmented with ring connections. The algorithm requires N/2 + O(log N) steps, each composed of two subtractions and four multi- plications which is about two times faster than the algorithm introduced in [4]. However, it requires an asymmetric topol- ogy with a node degree of five. More recently, a parallel algorithm has been discussed in [15] which uses a k-ary n- cube, consisting of k n =2 + Okn steps, each with four Microprocessors and Microsystems 24 (2000) 135–140 0141-9331/00/$ - see front matter 2000 Elsevier Science B.V. All rights reserved. PII: S0141-9331(00)00066-1 www.elsevier.nl/locate/micpro * Corresponding author. Tel.: + 44-141-5483098; fax: + 44-141- 5525330. E-mail address: mohamed@cs.strath.ac.uk (M. Ould-Khaoua).