I was looking for a framework to simulate quantum communications for some time ago in order to be able to execute, simulate and test the protocols I am working on. One of the requirements was to be able to simulate quantum communication using several hosts (be that in the form of separate servers, virtual machines or containers). After some attempts to use a well known quantum computing framework with the (bad) trick of sending the information of the whole state of the system from one host to a second one over the network, I reached SimulaQron + CQC. …


by Fernando de la Iglesia

Image for post
Image for post

Some months ago I wrote on the Quantum Phase Estimation algorithm added to ProjectQ and how to use it. Now is the turn to other key algorithm also added to ProjectQ as a native operation: The Quantum Amplitude Amplification algorithm.

As it is well known, the objective of this algorithm is to amplify the amplitude (:-)) of the Hilbert subspace marked by the Oracle involved in the algorithm, such that when we measure, we have a high probability to obtain the state that is the one (or in the subspace) marked by the Oracle.

I highly recommend to read the references: A quick one is the corresponding Wikipedia article, were you can find more references therein, but the “must read” is the great paper by G. Brassard, P. Hoyer, M. Mosca, A. Tapp (2000) Quantum Amplitude Amplification and Estimation https://arxiv.org/abs/quant-ph/0005055. …


by Fernando de la Iglesia

Image for post
Image for post

Quantum Phase Estimation is one of the most relevant algorithms in quantum computing, whose importance resides in that it is used as part of other more complex algorithms. The objective of this algorithm is to estimate the phase, and that means the value, of the eigenvalue corresponding to the eigenvector of a unitary operator.

In short, with this algorithm we can evaluate θ in the expression

Image for post
Image for post

For a quick reference you can visit the corresponding Wikipedia article, were you can find more references therein. Another important reference is the great paper by Daniel S. …


by Fernando de la Iglesia, Technology Expert at Telefónica I+D

Image for post
Image for post

Some months ago, I published a post on how to run BigDL distributed deep learning jobs on our MRS Open Cloud service: https://medium.com/@fernando.delaiglesia/using-bigdl-for-distributed-deep-learning-on-telef%C3%B3nica-open-clouds-mrs-service-c6837115ade3

Going a step forward, now I present how to run Analytics Zoo jobs on top of the MRS Service. But, what is Analytics Zoo?

Borrowing the definition from their github page:

“Analytics Zoo provides a unified analytics + AI platform that seamlessly unites Spark, TensorFlow, Keras and BigDL programs into an integrated pipeline; the entire pipeline can then transparently scale out to a large Hadoop/Spark cluster for distributed training or inference.” …


by Fernando de la Iglesia, Technology expert at Telefónica I+D

Image for post
Image for post

Weeks ago, we saw how to use kubectl with CCE Containers service in Open Cloud. In this post we will see how to use one of the most popular package managers for Kubernetes, Helm and with this, deploy a popular distributed key value store etcd, and another popular DNS and service discovery service, CoreDNS that uses etcd as a possible backend.

Helm

As defined in their home page, “Helm helps you manage Kubernetes applications — Helm Charts helps you define, install, and upgrade even the most complex Kubernetes application”. As said before Helm is one of the most popular package managers for Kubernetes. Enable Helm to use CCE clusters is quite easy. Helm consist of two parts, the client (Helm) and the server (Triller). Following the instructions in the helm github page, first you need to install the client in the same system you already installed and configured kubectl (following the guidelines in the referenced post). In my case I just installed the binary for linux and deploy the helm binary in my path. Helm will use as default the kubectl config file (in ~/.kube/) …


by Fernando de la Iglesia, Technology expert at Telefónica I+D

Image for post
Image for post

Some time ago, I wrote an entry on How to use kubectl to manage applications in CCE clusters from Telefónica Open Cloud. At that time the way the kubernetes management of the cluster should be accessed by the kubectl tool was by using the CCE API and therefore the kubectl tool had to be modified in order to be able to use the CCE API.

In the new version of CCE this has changed, and now the management can be accessed directly and therefore we can use the standard kubectl tool. …


by Fernando de la Iglesia, Technology Expert at Telefónica I+D

Image for post
Image for post

Artificial intelligence is becoming more and more a major tool that is impacting almost every industry, from healthcare to transportation. One of the various “flavors” of AI is especially useful for tasks as image classification, speech recognition, etc., that is Deep Learning. This impact is so important that many companies are asking how they can take advantage of these technologies in the same way that currently they are using other computing technologies. The Cloud could be a possible answer for that. …


by Fernando de la Iglesia, Technology Expert at Telefónica I+D

Image for post
Image for post

Following the suggestion from Jose manuel de arce on my previous post

I would like to show with a very simple example how to create and upload to Docker Hub a container image to be used to create applications in our Open Cloud CCE cluster. Moreover, taking advantage of the suggestion I will show how to upload and store images privately in the Open Cloud CCE private registry.

Creating the container image for your application

In order to be able to create a container image you need to work in some environment running docker. Of course you can use and login in some of the nodes of your CCE cluster or you can use a docker environment installed in your laptop. …


by Fernando de la Iglesia, Technology expert at Telefónica I+D

Image for post
Image for post

(EDIT 20/07/2018: With the new version of CCE the procedures described in this article are not longer required, please refer to https://medium.com/@fernando.delaiglesia/using-standard-kubectl-tool-to-manage-applications-in-the-new-cce-clusters-version-from-telef%C3%B3nica-679e72031e0c )

Recently Telefónica Open Cloud (OC) has added container features to his portfolio through the service called Cloud Container Engine (CCE) leveraging Kubernetes. Of course, you can manage, create, design your services and applications using the web console, but I am sure many people would like to automate tasks and manage several clusters with a unified tool, and this is typically the kubernetes tool kubectl. …


by Fernando de la Iglesia, Technology expert at Telefónica I+D

Image for post
Image for post

Using as a starting point the story from my colleague GuidoApp configuration the easy way” I would like to add my two cents to Tip 3 : Using a configuration server, that is the idea of using another tool in addition to Consul: StashBox, created by SynchroLabs, but with the advantage that in addition to configuration files, this tool can provide any file, as for example SSL certificates, at application start time (or any other time).

StashBox is just a proxy that allows to configure several “mount points” and define which will be the backend for each of these “mount points” ranging from files in the filesystem of the StashBox container to external storage as a web server (using the “proxy” mount point type) or a cloud storage as Manta from Joyent. In addition to this, just adding a new driver we can enable the access to non-AWS S3 compatible cloud storage services, as for example the one provided by Telefónica’s Open Cloud (Edit: May 26 2017: driver already merged in https://github.com/SynchroLabs/StashBox)

Fernando de la Iglesia

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store