54,768 research outputs found
Comparison Of Modified Dual Ternary Indexing And Multi-Key Hashing Algorithms For Music Information Retrieval
In this work we have compared two indexing algorithms that have been used to
index and retrieve Carnatic music songs. We have compared a modified algorithm
of the Dual ternary indexing algorithm for music indexing and retrieval with
the multi-key hashing indexing algorithm proposed by us. The modification in
the dual ternary algorithm was essential to handle variable length query phrase
and to accommodate features specific to Carnatic music. The dual ternary
indexing algorithm is adapted for Carnatic music by segmenting using the
segmentation technique for Carnatic music. The dual ternary algorithm is
compared with the multi-key hashing algorithm designed by us for indexing and
retrieval in which features like MFCC, spectral flux, melody string and
spectral centroid are used as features for indexing data into a hash table. The
way in which collision resolution was handled by this hash table is different
than the normal hash table approaches. It was observed that multi-key hashing
based retrieval had a lesser time complexity than dual-ternary based indexing
The algorithms were also compared for their precision and recall in which
multi-key hashing had a better recall than modified dual ternary indexing for
the sample data considered.Comment: 11 pages, 5 figure
Carrier Aggregation in Multi-Beam High Throughput Satellite Systems
Carrier Aggregation (CA) is an integral part of current terrestrial networks.
Its ability to enhance the peak data rate, to efficiently utilize the limited
available spectrum resources and to satisfy the demand for data-hungry
applications has drawn large attention from different wireless network
communities. Given the benefits of CA in the terrestrial wireless environment,
it is of great interest to analyze and evaluate the potential impact of CA in
the satellite domain. In this paper, we study CA in multibeam high throughput
satellite systems. We consider both inter-transponder and intra-transponder CA
at the satellite payload level of the communication stack, and we address the
problem of carrier-user assignment assuming that multiple users can be
multiplexed in each carrier. The transmission parameters of different carriers
are generated considering the transmission characteristics of carriers in
different transponders. In particular, we propose a flexible carrier allocation
approach for a CA-enabled multibeam satellite system targeting a proportionally
fair user demand satisfaction. Simulation results and analysis shed some light
on this rather unexplored scenario and demonstrate the feasibility of the CA in
satellite communication systems
Array operators using multiple dispatch: a design methodology for array implementations in dynamic languages
Arrays are such a rich and fundamental data type that they tend to be built
into a language, either in the compiler or in a large low-level library.
Defining this functionality at the user level instead provides greater
flexibility for application domains not envisioned by the language designer.
Only a few languages, such as C++ and Haskell, provide the necessary power to
define -dimensional arrays, but these systems rely on compile-time
abstraction, sacrificing some flexibility. In contrast, dynamic languages make
it straightforward for the user to define any behavior they might want, but at
the possible expense of performance.
As part of the Julia language project, we have developed an approach that
yields a novel trade-off between flexibility and compile-time analysis. The
core abstraction we use is multiple dispatch. We have come to believe that
while multiple dispatch has not been especially popular in most kinds of
programming, technical computing is its killer application. By expressing key
functions such as array indexing using multi-method signatures, a surprising
range of behaviors can be obtained, in a way that is both relatively easy to
write and amenable to compiler analysis. The compact factoring of concerns
provided by these methods makes it easier for user-defined types to behave
consistently with types in the standard library.Comment: 6 pages, 2 figures, workshop paper for the ARRAY '14 workshop, June
11, 2014, Edinburgh, United Kingdo
Joint Cache Partition and Job Assignment on Multi-Core Processors
Multicore shared cache processors pose a challenge for designers of embedded
systems who try to achieve minimal and predictable execution time of workloads
consisting of several jobs. To address this challenge the cache is statically
partitioned among the cores and the jobs are assigned to the cores so as to
minimize the makespan. Several heuristic algorithms have been proposed that
jointly decide how to partition the cache among the cores and assign the jobs.
We initiate a theoretical study of this problem which we call the joint cache
partition and job assignment problem.
By a careful analysis of the possible cache partitions we obtain a constant
approximation algorithm for this problem. For some practical special cases we
obtain a 2-approximation algorithm, and show how to improve the approximation
factor even further by allowing the algorithm to use additional cache. We also
study possible improvements that can be obtained by allowing dynamic cache
partitions and dynamic job assignments.
We define a natural special case of the well known scheduling problem on
unrelated machines in which machines are ordered by "strength". Our joint cache
partition and job assignment problem generalizes this scheduling problem which
we think is of independent interest. We give a polynomial time algorithm for
this scheduling problem for instances obtained by fixing the cache partition in
a practical case of the joint cache partition and job assignment problem where
job loads are step functions
- …