  Machine learning (ML) is probably the first and foremost used technique to
deal with the size and complexity of the new generation of data. In this paper,
we analyze one of the means to increase the performances of ML algorithms which
is exploiting data locality. Data locality and access patterns are often at the
heart of performance issues in computing systems due to the use of certain
hardware techniques to improve performance. Altering the access patterns to
increase locality can dramatically increase performance of a given algorithm.
Besides, repeated data access can be seen as redundancy in data movement.
Similarly, there can also be redundancy in the repetition of calculations. This
work also identifies some of the opportunities for avoiding these redundancies
by directly reusing computation results. We document the possibilities of such
reuse in some selected machine learning algorithms and give initial indicative
results from our first experiments on data access improvement and algorithm
redesign.
