The final item of business today is a member's business debate on motion number 15036 in the name of David Stewart on protecting frontline fire and rescue services. This debate will be concluded without any questions being put. I invite those members who wish to speak in the debate to please press the request to speak butters now as soon as possible. I call on Mr Stewart to open the debate. Mr Stewart, you have seven minutes or thereby please. Thank you very much, Presiding Officer. First of all, I thank all the members who have stayed behind this evening to support the debate and those who have signed my motion as well. You have got my thanks. For those members who have not signed my motion, I am always a great believer in sinners that may repent in the future, so I am looking forward to a few sinners in the chamber this evening signing up at six o'clock. I expect, Presiding Officer, that there is not one person in the chamber today who underestimates the job that our firefighters do day after day responding to industrial disasters, terrorist attacks, flood responses, chemical spills, keeping our communities safe, both in the event of a fire and, of course, by their preventative work, which is vitally important as well, and their crucial role in attending road traffic accidents and much, much more besides. When the Scottish Fire and Rescue Service was created, the Scottish Government gave a clear and categorical assurance to Parliament that the introduction of the single service would not result in the loss of front-line jobs. Yet on 28 April last year, chief officer Alasdair Hay advised the Justice Committee that the service and an effort to live within its budget had worked with the Fire Brigade Union to create a resource-based crewing model that would reduce the 3,890 whole-time firefighter posts to 3,709 reduction of 181 posts. The service had to reduce its cost base by £48.2 million in the first three years, a situation that was made much more difficult by not being that exempt, which I will touch on again in the future. The Scottish Fire and Rescue Service is the only fire and rescue service in the UK that pays that on goods and services, and the Scottish Fire and Rescue Service pays around £10 million per annum on that, which is equivalent to 350 firefighter posts. In November last year, the Fire Brigade Union submitted a written statement to the Justice Committee noting its grave concerns that budget cuts will have a detrimental impact on 999 response times. The union states that there has been a continual year-on-year reduction in the number of front-line firefighters since the decision to introduce a single fire and rescue service is taken in 2011 due to sustained periods of recruitment freezes. It states that there is now over 400 fewer full-time firefighters than there was in 2010 and almost 300 fewer than there was when the national service was introduced in 2013. However, we were assured by the Scottish ministers that that would not happen. The FBU claimed that unrelented pressure to save money is impacting on front-line services and states that these reductions have inevitably affected the staffing levels and the ability to adequately crew all the front-line fire appliances all the time. I understand, Presiding Officer, that a decision was taken by the Scottish Fire and Rescue Service to remove up to four front-line appliances each day, in part from the west service delivery area, which is firmly known as South Clyde Fire and Rescue Service. In January 2014, the decision was taken to reduce the number of fire control rooms in Scotland from eight to three, with the control rooms in Inverness, Aberdeen, Fife, Falkirk and Infries marked for closure, while Johnston, Edinburgh and, indeed, remain open. Together with my colleague Rhoda Grant, I fought hard against the closure of the Inverness control room, which services the Highlands and Islands. I know many of my Labour colleagues, and MSPs from across the chamber also fought against the closures in their respective areas. That decision still provokes controversy. It has been argued by some that control room staff are front-line staff, too, being the first point of contact for members of the public in an emergency situation. While we have been assured that technology is in place to save a lot of those closures to take place, I would ask about the loss of local knowledge built up by front-line staff. In my own region of the Highlands and Islands and the areas that members will know the size of Belgium, years as special as geographic and logistical knowledge has been built up by staff, that knowledge will soon be lost to the service in the Highlands and Islands, as the Inverness control room closes. The police control room at Bilston Glen, recently criticised in a watchdog report, was unable to take 999 calls for several hours last month due to technical difficulties in the early hours of the morning, which meant that 999 and 101 calls had to be delivered to other centres. It was fortunate that, on this occasion, no tragedies resulted. If a similar technical difficulty was to occur with fire, lives would almost certainly be lost. The FBU believes that the key motivation behind the creation of a single service was to protect and improve local services, and I am quoting, despite financial cuts by stopping duplication support services such as control rooms and not cutting front-line services. However, those front-line services have been cut in a bid to balance the books. Front-line fire numbers have reduced by around 10 per cent over the past five years. As the FBU states again, any further reductions of firefighters beyond that shall have an acceptable impact on public and firefighter safety and the ability to deliver the key benefits of reform, improve front-line incomes, equitable access to specialist resources and improve engagement with local authorities. In June last year, my Labour colleague Ian Murray, MP, delivered an amendment to the Scotland Bill to ensure a review of the controversy surrounding that liability for the fire service in Police Scotland. Those liabilities arose in the Government's reorganisation of both services. At the time, the Treasury explicitly advised the Scottish Government that its approach would mean the emergency service losing that refunds, but, to cite the warnings, the Government pressed ahead with reforms, costing Scotland's fire and police services— I am on the last minute, but, if the Presiding Officer allows, I will. Of course. I am very grateful to Mr Stewart for taking intervention at a late stage. I just want to ask Mr Stewart, does he not recognise that the Labour Party also supported the Government in the reform of police and fire services? I do appreciate that, at the time, there were issues around the long-term business case that members have made, but, indeed, the fact that the Labour Party supported the reforms, and therefore— Mr Stewart? That point is not in dispute. The point is to get the vat right. If I can just quote what my colleague Rhoda Grant wrote to the Treasury, and he said, in 2011—this is a Treasury official—the Scottish Government was explicitly advised of the potential consequence of changing from regional police forces to a single authority of part of the proposed revised funding model for Police Scotland. At the time they took the decision to make those reforms, they would have known that they were no longer eligible for vat refunds as a result. That was expensive, Presiding Officer, for £10 million a year. In the last few seconds, in my conclusion, it is clear that the job of Scottish Fire and Rescue Service is to keep our communities safe and safe lives. They need adequate resources to do that. We have a service of dedicated, skilled front-line staff. I include fire fighters and, of course, control room staff as well. I call on the Scottish Government to take immediate steps to protect the future of front-line firefighters and the services support staff. Do not just take my word for it. YouGav service showed that 82 per cent of respondents thought that the Fire and Rescue Service was doing a fantastic job. Please support those heroes in our fire services, and I ask the Government to look again at the model that they are currently carrying out. I move to open debate. Four-minute speeches. I call on Graham Pearson to be followed by Chris John-Alla. Thank you very much, Presiding Officer. Let me first begin by acknowledging that the current Minister was not in post at the time much of the arrangements came into play, and, to that extent, it might be helpful to share some of the experience of that time. There is no doubt that, from the outset, the Government knew that £10 million was to be paid in VAT. Although, unfortunately, there was no business plan provided and Ministers gave an assurance that that £10 million would be recovered at some time in the future, I think that we know, prior to that date, and our experience since, that that prediction was without any basis, in fact. Indeed, we are still no closer to having the VAT issue resolved today than we were a decade ago when this whole journey began. And, irrespective of that £10 million, the key issue that we deal with today is that we are aware of the pressures that exist on the fire service, and there is an unreasonable target set in terms of cuts, which ensure that not only do they need to pay the £10 million, but they need to find a way of replenishing savings from an ever-smalling baseline within which to make savings. As a result, the economies of scale have evaporated. The slimming down of so-called support services has been completed. We now have, as my colleague David Stewart alluded to, 400 fewer full-time firefighters now than existed in 2010. Indeed, within that number, there are 300 fewer since 2013. I am happy to. I thank the member for taking the division. First of all, I think that Mr Stewart said 350, and not 400. I don't know if I've got it or not. Is he really adding the VAT exam? Who does he blame for what's happening now? Does he blame the SNP Government or does he blame the Tory Conservative Government? Can I say that I don't enjoy the notion of who to blame? It's who's responsible, and the person who is responsible in this or the entity that is responsible here is very firmly the Scottish Government. The Scottish Government has brought about a 20 per cent cut in the budget for the Scottish fire service, when indeed the global budget would suggest a cut of nearly 10 per cent would have been the kind of figure that was applied. That's before anybody takes account of the priority that one achieves in attaching to the fire service and what it does for us. In addition, the fire service has taken on additional work. It has responsibility for responding to cardiac arrests.  It is involved in training in relation to climate change. It also engages in the junior firefighter schemes, which are so important to youth re-offending. They are involved in a great deal of fire inspections and enforcement. Rather than looking to blame someone, we don't blame the current minister. I think that we need some realism now from the entire Scottish establishment that says that if we have emergency services and these emergency services act on our behalf to save life, protect property and to provide a safer environment, we would ask, as David Stewart eloquently does in his motion, that the Government should review the current situation, realise the impact that it has on front-line services and, instead of adhering to political one-liners, adopt a realistic approach in acknowledging that we have gone too far and begin to support the fire service and the men and women who work in that service to ensure that they achieve what they want to do on our behalf, deliver a world-class service for Scotland and its communities. Thanks, Presiding Officer. Thank you. I now call on Christian Alart before I by Malcolm Chisholm. Thank you, President Officer. I did not sign the motion and I'm not repenting. I don't consider myself a sinner. For several reasons. One first reason is if David Stewart said 350, a few of five fighters, his motion says 300. Now we've got Graham Pearson who comes up and he says it's 400. So we've got to be factual first of all. What is it? There's one thing I know is that the fire chief, when he came in front of the Justice Committee, he said that the £10 million we are losing that Westminster are keeping, the Treasury is keeping in London, that will fund 350 firefighters. That I know, the free one second, if you remember the one second, it says 300, fewer, fewer firefighters on the motion, on the labour motion of Mr Stewart. The chief said we could have 300 firefighters. To my mind, the math is very easy, it's 50 firefighters extra it could fund. So we are a lot better when you think we are. Thank you very much, Presiding Officer. The figures that we're talking about here depends on the date that one measures the various establishments that we talk about in terms of the shortfall of firefighters. The key issue, would the member accept that it was always known in the business plan for what it was worth that £10 million would be paid in VAT because of the precedent that would be set if that rule was changed? Now I'm going to come to David Stewart, because he asked us, he tells us to repent and we are sinners. And then he tells us that one of the reasons is the VAT. I'm sorry, I've got the motion in front of me, no way does it say the VAT. How come? Is the VAT issue not important enough? When again the fire chief was asked by the Justice Committee, when he asked, you know, how big was the issue of the VAT? He said it was massive. That's a word he used, massive. But it's so massive that Labour, Mr Stewart and the Labour MSP do not put it in the motion. Fair enough, he did speak about it, but he knew at the time he wrote it, because we all knew this right from the start that there were a possibility that the UK Government, the Conservative UK Government will withdraw some money from Police Scotland and from the fire services, fire and rescue services. We knew that it could happen. We asked and we were very, very strong in asking not only the Scottish Government, but this Parliament, not only this Parliament, but the Justice Committee we asked and we are asking again to make sure we get that money back. So I can't understand where is the question when we're talking about a detrimental effect and how come is the Scottish Government to respond? Let's talk about the numbers of firefighters. You know, there is a new model, a new model for Scotland today. That new model that the fire services, the rescue services have, they have put a number to it. A number of whole-time firefighters is 3,709. As far as I know, we're still exceeding this. So again, I'll ask, you know, how come it's not in? And more importantly, in the VAT, what the two Labour members forgot to say is all the exemption that the Conservative, the Westminster Parliament are giving to other organisations. The firefighter service in Scotland, the fire and rescue service in Scotland is the only one fire service in all of the UK who has to pay for the VAT. It's ridiculous the number of the other organisations as the BBC, the Metropolitan Police, and of course, there are the Olympic Legacy Organisation and the Transport Agency Highways England, and both were granted VAT exemption after 2013. When Pat Winters, the chair of SFIRS board, wrote to the Prime Minister, the Chancellor of the Exchequer and every Scottish MP, the Roper I got was that all this regulation, an example organisation, but that SFIRS is not one of the exception organisations. Why? No reason was given. And as I said, presenting you for yourself, this is a massive issue. And if I can finish on something, it's to, maybe what I would have said is to say how much we've got, all the Chamber will support our firefighters. Particularly after the flooding, we are testing the people in Balata, the firefighters in Balata. What do we turn on all time in Balata, in Inverardy and across the Wynishire, doing a fantastic job. So, we've got my thank you. Thank you so much. Now I call on Malcolm Chisholm to be followed by Mary Scanlon. Can I first apologise to you and the minister, because I'm due at a meeting of the cross party group on violence against women at 5.30, but I did want to speak in this debate. I congratulate Dave Stewart for introducing the motion, which gives us an opportunity to raise important issues on behalf of firefighters, who, as we all know, put their lives on the line every day, not out of heroism, but through an absolute commitment to their profession and our communities. I would also like to express support and respect for the Fire Brigades Union, not only for the great work that they do in this country, but for their ethos of international solidarity, as illustrated, for example, by their on-going work supporting the firefighters of Nablus. The least firefighters deserve is to feel that their service is supported, valued and prioritised, and I agree with Christian Allard that the VAT issue is important, but it cannot be used as an excuse for not addressing the problems highlighted in the motion. In the midst of the recent habit caused by Storm Desmond, the FBU issued a call for cuts to services to be halted, and they said that a significant reduction in firefighter numbers would hamper fire and rescue service responses to major events, as well as having an effect, obviously, on more routine work. We have dealt with the numbers that various people have, and, as Graham Pearson says, it is 400 down since 2010 and 300 since the thinkle service set up, and the result of that has been an increasing reliance on overtime and appliances being taken out of service, as Dave Stewart reminded us. Matt Rack, FBU General Secretary, put it this way. The Scottish Government told us that shifting to the single fire and rescue service would protect front-line services, but since then we have seen further cuts and job losses. Firefighters are proud to serve our communities, they want to be out there saving lives and making lives safer for people, but cuts on this scale inevitably undermine what we are trying to do. We have to address the problems. We can have different views about who is to blame, but that is not really the issue. The issue is highlighting the problems and the Government taking responsibility for this area, where they are clearly the responsible Government involved in action to address the problems. In a report to the Justice Committee, which has also been referred to by Dave Stewart, the FBU go in in more detail to some of the problems. It is not just the numbers of firefighters that they emphasise, they talk, for example, about the control room closures with fewer staff dealing with more calls and the increasing incidence response times, which leads them in that submission to call for national response standards. The increasing incidence times are obviously mainly related to reductions in personnel, but there is also an issue about lack of appropriate equipment. I was interested to read a report called response and resilience review of specialist equipment. That was presented to the City of Edinburgh Council, a committee of the City of Edinburgh Council, in February of last year. It was interesting to see and describe some of the problems with the equipment, some of it below an acceptable standard that we were told for a national fire and rescue service, and also an interesting point about inconsistencies in the type and standard of equipment across from our regional service areas. Of course, there will be positive advantages from the single service in dealing with some of those inconsistencies, so no one is saying that that in itself was a bad move, although it clearly has had unfortunate consequences in terms that have been highlighted during this debate. The other issue that comes out in that report is the significant training requirements. Again, if personnel numbers are being squeezed, it is difficult to find the necessary time for that. Those are important issues that need to be brought forward. I congratulate Dave Stewart for doing that. It is the Government's responsibility to ensure that five fires are equipped, resourced and valued. I support the motion that Dave Stewart introduced. Once again, I apologise for having to leave, but the Speaker at 5.30 is the Minister's boss, the Cabinet Secretary for Justice, so I am sure that he will forgive me for going to that meeting. I congratulate David Stewart for securing this debate, and I would say that I am not going to argue over the figures. I was not entirely sure about the figures, but I supported the motion in order to allow us to have a full discussion in the chamber, as there are clear issues with the single fire and rescue service. It used to be that water was the solution for a fireman. It now seems that water is the problem. We should not talk about firefighters because this is a fire and rescue service, and I commend each and every one, man and woman, who came to the rescue in Inverury, Ballater and elsewhere in Scotland. I correct my colleagues and talk about fire and rescue. They are not just there to put out fires. I say to Christian Allard who is at fault. Graham Pearson was right to knock that one down. No, I am not taking intervention. I suggest that Christian Allard read the Audit Scotland report. He would see the figures in the Audit Scotland, which have in fact been acknowledged by his own Government. Then he would not need to argue, but very quickly. I just wanted to ask. The member said that she signed the motion of Mr Stewart. Had the VAT been on the motion, would she have signed? The VAT was well known before the police merged and it was well known before the fire and rescue service merged. I gave you my explanation about the number of firefighters that you were arguing about, and I have no more to say, but I think that it is appropriate to have this issue addressed today. I just say in my role in the Audit Committee that we have looked at the fire and rescue service and at the same time that they are trying to make substantial savings. The key message in May last year from Audit Scotland was that the fire and rescue service did not have a long-term financial strategy. That is urgently required and there is a potential funding gap of £42.7 million. Forget the VAT, let us look at the realistic state that we are in. Given that last year staff costs amounted to 79 per cent of the budgeted gross expenditure, it is understandable that the Fire Brigades Union staff and fire and rescue service are concerned that the service has to consider more serious front-line cuts in order to address the significant funding gap. There is a 31 per cent real terms fall in the budget from 2012 to 2020, so who is responsible for that? I think that you should know, Mr Rallard. The net savings expected up to 2027 is £328 million. It is all in the Audit Scotland report. When the chair and the chief officer of the fire and rescue service came to the audit, I spoke about retained firefighters and David Stewart will understand that in the Highlands we have a higher number of retained and voluntary firefighters than anywhere else in Scotland. Vacancies of more than 30 per cent and of the three around Inverness were highlighted at the time. The retained firefighters wages and conditions of service was set up in the 1950s. Pat Waters and Alasdair Hay promised that they would review the service, given that people have to give a commitment of 90 hours to 120. They would come back to the audit committee by November and were still waiting, but I see the minister saying that it's been done. I certainly haven't heard about it and it was me that asked about it. This is an opportunity to look forward for the fire service, but now that I've criticised them, I'd like to commend them on the initiatives taken with the Highlands and Islands airports to look at staff firefighters at the airport, qualified to work as retained duty firefighters and another success in Loch Inver, where the station had significant problems in maintaining crew numbers and, after an extensive local consultation, 12 potential new entrants came forward. It would take too long to look at all the vacancies throughout the Highlands, but if the exercise can be done in Loch Inver, it can also be done in places such as Betty Hill, Bonnerbridge, Bucky, Canoch, Forrest, Grantown and many others that all have between five and ten vacancies. That's becoming a serious, serious level. As we approach the third anniversary of the single Scottish Fire and Rescue Service, I want to put on the record my absolute respect and admiration for every person at the front line and every member of staff, and I think that they have to be commended for the wonderful, fabulous work that they did recently in a very sensitive manner, if I may say, throughout areas of Scotland affected by flooding. Thank you very much. I now call on Leslie Brennan after which we'll move to closing speech from the minister. Four minutes or thereby please. Thank you Presiding Officer. I just wanted to make a couple of points. It was really good that Dave was able to secure this debate today. I think obviously the huge budget cuts facing the fire brigade and at the same time the increasing demand, the demographic demand with older people and we've seen that with successful campaigns such as the sloppy slippers campaign where older people swap their old slippers or new slippers to try to minimise falls and flooding, but also at one of the local community planning partnerships that I attended in Dundee, the Fire and Rescue Service representative there had mentioned increasing demand due to welfare reform. You've got three different aspects that are increasing demand by the same time they're facing shrinking budgets. I was just going to echo what Mary Scanlon had said about the Audit Scotland report that was published last year and it reveals a £43 million cut. 80 per cent of their revenue budget is on staff. I thank very much the member for taking the division. First of all, I would congratulate her to have two debates on the same time the red and species afternoon now on every debate. No, just a question. She congratulated Mary Scanlon and I'm a bit confused. It seems to be very an alliance between the Conservatives and Labour on that particular motion. Does she think that it's strange that the VAT was not put in the motion? Is it to get the backing of the Conservatives? I was reiterating what Mary Scanlon had said about the Audit Scotland report, so I'm not even discussing about the VAT. I think that the £43 million is the main issue. It's the Scottish Government responsible for the £43 million cut. The FBU has estimated that they've seen a reduction in £449 fire and rescue services, which is a 6 per cent cut. When we're looking at increasing demands, the concern is that, when they're going to be more stretched, prevention then goes down on the list. That's what I want to raise. My concern is that the budgets are shrinking, but they're facing increasing demands. May I begin by saying that I wholeheartedly agree with the praise for the men and women of the Scottish Fire and Rescue Service that we have heard in the staff meeting speeches from all members. I know that there will be differences of opinion that I'll probably cover in the rest of the debate, but I'd certainly welcome the strong and heartfelt support across the chamber for the very hardworking and very brave men and women of the Scottish Fire and Rescue Service. Members will be aware that reform of Scotland's fire and rescue services was proposed by this Government and Parliament agreed the Police and Fire Reform Bill back in June 2012, a position that was supported by the Labour Party. I don't make that point to cause rancor in the chamber, but it is important in the context of the VAT issue. I think that we all knew in the chamber that VAT would be an issue, and yet other parties, not necessarily all parties, supported the bill. I'll just make that as a factual point. What are the aims of fire reform was, of course, to protect and improve local services. The VAT was an issue long before the Scottish Government proposed the merger of the Police Service and the Fire and Rescue Service, so that it should have been sorted out and accommodated for, rather than complaining about it three years later. I was making a slightly different point in truth. It was just to say that, collectively, we were all aware of this issue. It's not a surprise to accept that, but equally, parties did support the bill knowing that VAT would be an issue. To be fair, I think that all parties were aware that we were contesting that issue throughout, and that's not to criticise Ms Scanlon, but it's just to say that it's a nature of the debate. One of the key aims of fire reform was to protect and improve local services, despite financial cuts that we faced as a Government. I do, again for the record, point out that, while Blame has been a portion around the chamber, we would not perhaps be in the situation that we are, but for the funding squeeze that we all face at this moment in time, which necessitated difficult choices being made. However, we wanted to stop duplication and improve front-line outcomes. The point that we make during the debate is that the fire service has taken a disproportionate amount of cuts in their particular service. Had it been cuts across the board of a similar level, they wouldn't have faced the cutbacks that they currently face. I understand the point that the member is making, but we have a period of over 10 years as a continued reduction in the number of firefighters in the Scottish Fire and Rescue Services and the legacy services, so there has been a long-running issue. However, one of the objectives of reform was, of course, to try and remove duplication and to try and take out costs where they could be taken out and to try and protect front-line firefighters' jobs, indeed. I just want to say in connection to that, and I don't want to get into semantics, but just to say that the commitment that was given to protecting front-line services is not front-line jobs, but clearly all of us had in mind trying to protect front-line jobs as best we could in the reforms. Three years have passed, and after the creation of the Scottish Fire and Rescue Service, the Scottish Government continues its commitment to the aims of reform, but despite the UK Government's continued approach to austerity, the Scottish Government has protected the SFRS revenue budget in cash terms as part of the forthcoming 2016-17 budget. Should that be approved by Parliament, this is an outcome that the services chief officer, Alasdair Hay, described as being manageable and not necessarily desirable, and I accept that but manageable, and one that will enable SFRS to continue to play a vital role in protecting our communities. The Scottish Government, for its part, has consistently argued for an alternative to UK Government's austerity measures, and I would like to repeat the assurance that we remain committed to investing in Scotland's infrastructure and public services. If I can make some progress, I will bring the member back in. I would also remind the chamber that SFRS is the only, as Christian Lard said, the only fire service in the United Kingdom that is unable to recover VAT. I know that we have covered that extensively in the debate, but it is liable for an annual cost currently slightly in excess of £10 million per annum, and HM Treasury has rejected our repeated request for SFRS to be able to recover VAT. Indeed, the Deputy First Minister raised this issue with the chief secretary again a little over a week ago, and this place is unnecessary additional financial pressure on the service at a time when our financial resources are already stretched. I would just say in aggregate that, over the period that Audit Scotland looked at, the funding gap, as it put it of £43 million that Leslie Brennan referred to, and I congratulate on our speech. I am not sure if it is the maiden speech or not, but welcome to the chamber, Leslie Brennan, and I look forward to debating with you over the months ahead. However, the financial resources are stretched, and if you take that £10.3 million over a number of years, it is a substantial way to plug in the £43 million gap. I will bring in Mary Scanlon, if she wishes to. I was just going to say that the £43 million gap, according to Audit Scotland, there are no protected areas, so you are not even protecting the front line services according to Audit Scotland, which has been confirmed by ministers. Can you now tell us if the long-term financial strategy that the Auditor General said was urgently needed last May, is that now in place? The long-term financial strategy is under development by the Fire and Rescue Service. It is a matter for the Fire and Rescue Service. It is responding positively to Audit Scotland's report. It is worth bearing in mind, from a sedentary position, to remind Mary Scanlon that, as I say, the SFRS has delivered the savings expected, and they continue to respond very effectively to everything that is asked of them. The chief officer described the 2016-17 budget as a manageable settlement. However, I reiterate the point that the Fire and Rescue Service is delivering the long-term financial strategy that is asked of them, and they will see that in the course of the forthcoming year, alongside a revised framework for the Fire and Rescue Services. Despite all the pressures, the creation of a single Scottish Fire and Rescue Service has been a success. We are moving sight of that here today. There has never been a single occasion since the inception of the service that I am aware of, where it has not responded with the required resources to an incident, and that will continue. We need to only look at the very recent extreme weather events, as members have indicated, to find examples of where the SFRS has been able to strategically position and mobilise its resources across the entire country, according to rapidly changing risk and demand, without wrangling over whose resources are used and how this money is recovered between different legacy areas. That is extremely important. The service was able to pre-deploy water rescue teams from Inverness, Elgin, Perth, Dundee, Sterling and Motherwell to where they were most needed in the north, in communities such as Ballot or that Christian Allard referred to, and assisted with hundreds of evacuations and rescues. I very much welcome the warm comments that members have said today. However, I am of course grateful for the deployment in my own region, in the south of Scotland, in Dumfries and Galloway and the Borders, as well. I saw a witness for myself and did crews from Edinburgh, and I believe Wes Lodian, who came down to help out in Hawick and other communities in the Borders. The speed and efficiency of the service's response, under the most challenging of conditions, is an excellent demonstration of how the single service has delivered real and meaningful benefits to communities across Scotland. Indeed, the newly refurbished control room at Tall Cross worked highly effectively both during Storm Desmond and Storm Frank, so we can be confident that the team there is highly experienced. Just to reiterate that teams have been redeployed, there have been no compulsory redundancies in the control room closures to date, and staff from Fife have been redeployed down into the control room in Tall Cross to bring that front-line experience that members refer to into being in the new control room arrangements. This is also a testament to SFRS's hard work to protect and de-enhance its own front-line resources in the face of financial pressure. It has invested significantly in new equipment across the country, including state-of-the-art appliances, and rural communities in Fife, Highlands and Dumfries and Galloway have all benefited significantly from that. I recognise the point that Mary Scanlon made about the retained duty system. It is clearly an area that we both share and are interested in. We have discussed previously the review that is on-going under the fine rescue service. I hope that it will conclude after the parliamentary election, but it will conclude in the near future and give us some clear messages about the future shape of RDS. We will respond as positively as we can to those recommendations. However, the work of our retained duty system has also enhanced if we can work collectively to persuade employers to make their staff available for retained duty positions. Quite often, the funding is in place, but it is difficult to obtain recruits to fill the vacancies. That is a key issue that we all look to try to address. The fine rescue service and the fire brigade union have agreed an operating model, as has been referred to by members. Christian Larr is quite right. The figure that I understand in November was 3,748 firefighters, so it is slightly above the model figure. However, not only does the service currently have more than that figure, it has also undertaken targeted recruitment campaigns and agreed an interim mobility policy with the fire brigade union, which allows firefighters to be moved to locations should it be required, particularly targeting recruitment problems in the north, in Aberdeen, and to try to fill gaps in the process. The benefits of reform are apparent. Last May, a report from Audit Scotland confirmed a number of things. The fire reform process has been effectively managed. SFRS has maintained effective local engagement with the communities during the reform process. The creation of SFRS has had no impact on the public and its performance is improving. Furthermore, it will be difficult to argue that the creation of a single service has resulted in a reduction to front-line services when SFRS firefighters are currently involved in a national trial that aims to increase survival rates of patients who suffer out of hospital cardiac arrest. There is just one of several ways in which the fire and rescue service is evolving. I welcome members' comments on that evolving role that the service is playing. I think that our colleagues in the fire and rescue service deserve our full sum praise. I do accept that there are political differences that we have today, but I do welcome the United Front for showing and praising our firefighters. I will finish if I may. I am conscious of time with a quote from the chief inspector, a recently retired chief inspector of our majesty's fire service inspector, who at the Justice Committee in April last year said that, if eight fire and rescue services and a college had been trying to find nearly £50 million of savings, what would the situation have been? He ended by saying that, in his judgment, we would have been in a far worse position than we are in. The Scottish fire and rescue service has done a pretty remarkable job of bringing in the reform, maintaining business as usual and making progress. I thank them. Thank you very much, Presiding Officer. Thank you very much. Thank you all for taking part in this surprisingly inflammatory debate. I now close this meeting of Parliament.


AINCE Metanet is a novel framework for classifying brain states under anesthetic conditions. It consists of two main components, CNNs to extract power spectral features from the EEG signal and LSTMs to capture temporal dependencies. A meta-learning framework is then employed to handle large cross-subject variability. This framework is trained in multiple stages, with each stage focusing on a specific aspect of the problem. Visualizations of the high-level feature maps show that the proposed method outperforms existing approaches. This article was authored by Qi Hong-Wang, Feng Liu, Gu Wei Hong-Wang, and others.


So you have a PhD in physiology and you've also done your postdoctoral fellowship from the National Cancer Institute. Tell us about this transition into publishing. So after my PhD I did my postdoc and as I was planning for my next step I started looking at different jobs and one of the positions that I kept on seeing being advertised was for the Publications Ethics Manager at the American Physiological Society and being a member of the APS and have a PhD in physiology I was excited by the position because I've always wanted to work on science ethics and I thought this was a way to use my physiology background and integrate it with ethics and I thought it was almost the perfect fit for the job. It was something that I did not plan for when I started my PhD. I always thought I would end up being an investigator but over time I thought that maybe a different role to use my PhD would better fit my personality.


I got a chance to interact with an amazing spoken word artist by the name Dofan. Now he has a new album out, so let's get a chance to hear more about the album and his journey in that industry. Check him out. My name is Dofan, well that's my artist name. My ID name is Dennis Mutuma, Mutua, Burgo, Tehrambu. Well, that's as far as I can go with the genealogy. So Dofan is an alta ego, I lost my parents when I was pretty young and you know for people when you're an orphan they sort of start pitting you, they expect you to sort of look at you in a small way, you know and so in a way you expect to feel small, act small and so for me it was like instead of being ashamed of this, you know I can embrace it and make it my own.  I write hoaks for some of my pieces and then I will collaborate with other artists, you know so I have other artists sing and then we're performing together or even if it's recording, yeah so it's, I would say it's all complimentary but I want to do a lot more song writing for other people now like I know we don't have like a proper space for that in Kenya but I hope that we can establish that you know. This is a singer-songwriter producer that I work with, his name is Rasa Mwar, so there is a few songs that we are working on, also there's a lady that I worked with on the album that released an album a while back and so there's a lady called Le Boy so I'm also working on some songs for her, you know and you know see how it goes because I think we first start with the people around you, the people you've worked with, you know that way. It's less complicated and hopefully you know that will be great you know but I'm excited about it but the good thing is that we're creatives, we're always creating so and when you have people that you really have chemistry with then it's so much better. That's why I think 2020 was probably the hardest year for myself as an artist and I know for a lot of other artists because there was less interaction with people because the more interactive people you're interacting with life like that's life in motion right, so when you don't interact with people as much and then your inspiration comes from there and you're uninspired for the most part. It's a choice I made very consciously and I'm aware of the challenges that come with that you know I hope I didn't have to deal with a lot of the things I have to deal with but it's what it is, it's a kind of society we live in at the end of the day like if anything has to change around there has to be a few mad people you know a few mad people right who believe that you know they still a chance for us right. Instead of just playing along you know everything you know someone has to say no come on you know yeah like we can do away with this loop you know just because I feel like there's a lot of that people have almost gone to accent where people have forgotten how to live right because you're thinking shilling shilling shilling shilling shilling shilling you know it's just money is important but money is not everything right. Neli ulizea ni kambiwa mam malisha neli kwa sad siku imbewa chumam malisha, staki kujaji josi jwee rizun mam malisha ni batu de anguleo yet another reason ya kumismam desia na kupelaka na intitu. My new so I have a new album out and it's titled from the margins from the margins you know we talk of marginalized people we talk of people who are sideline you know people are living in the cracks and crevices of society basically so and that's what the album is about it. So I collaborated with a few other artists you know spoken of artist and singer you know like her name is Li Boy so I collaborated with another artist kikete, Lexas Mshairi, Murade Ngege and Kareembo. We went to the various communities that these artists come from and we talked to people, we talked to people to hear their experiences. We tried to use that, we wanted the album to be informed by their experiences. This is actually a piece there called Myakaya Mumbua and that is basically what the lives of young men have been reduced to in the ghetto.  So that piece basically tries to share those experiences, it's what we've reduced young men in the ghettos to grow up in dog years. You can hit me up on social media, dofan underscore age on Twitter, Instagram, dofan politically speaking on Facebook but it's also available on streaming platforms like Spotify, Boom Play, Apple Music.


as far as I know, 3.30. And it's time to begin with our next session. I'd like to introduce Natesh Turaga of the core team. And now he is working at Dana-Farber and making major contributions to bioconductor, both in terms of the production of containers, the production of binary repositories that you can use to make your container-based computing go very smoothly. And now he's going to talk about bioconductor doctor images or multi-node parallel computing on the cloud. Thank you, Natesh. Thanks, Vince. Can everyone hear me OK? I don't know how to check on the folks who are joining us virtually, but blink twice if you can hear me. So I'll be talking today about multi-node parallel computing on the cloud using bioconductor doctor images. And first of all, I'd like to point you to the slides and the GitHub repo. So I'll just introduce the topic a little bit with some slides for about 30 minutes or so. And then we'll go into a demo where I'll launch an actual cluster. We'll do some toy parallel computing to show you guys how it's done. But interrupt me with any questions you have. It's supposed to be an interactive sort of session. You can't follow along, unfortunately, unless you have a Google Cloud account and a credit card in the system, so that's why we didn't make it a workshop. It's going to be just a long demo. I'll try to keep it interesting. And if you have any questions, again, I insist that you just stop me and ask me questions so that we can have a lively discussion. So I'll introduce the topic a little bit. So bioconductor started around 2000. And the data back then was fairly small. They started with microarrays. There's people here who can attest to the size of the data and the compute infrastructure better than ICANN. But the idea then was R is in-memory model computing. So you could use your local hardware to do all the analysis you wanted. Data size kept increasing. We got into HPC, virtualized infrastructure, virtual machines, and all sorts of different high-performance computing measures as the data size kept increasing. And then in the last six to eight years, it kept increasing more and more. And now we need a scalable solution because we can now predict that data size keeps increasing. So now we're going to use containers, cloud resources. So we pay for what we need on the cloud. So why do we need cloud and parallel computing? Firstly, because there's a lot of data. And the cost is also an important thing. We want to pay for what we use. I can't find my mouse. And the competition for high-performance computing resources and institutions is usually pretty bad. You have to fight with your colleagues.  So let's think what a traditional parallel computing model is. So traditionally, you would log into a head node of sorts. And this is on your HPC. Did people use high-performance computing infrastructure? OK, a lot of people have.  And you'd have to choose the size of the worker nodes you want. You deploy your job. It comes back to you. And there's a file system backing it all up. The biggest problem is you don't have admin rights on any of these machines. So if you are an R user like I am, you'd need to install new packages. You'd need to install new software, new bioinformatics software. And they're usually not available. So you have to beg your admin, hey, can you please install this? And he's going to say, I don't have time. And then you're going to compete with your coworkers. There's wait times because someone's going to take up the largest node, use all the compute resources. And then every worker node needs to have the same set of software installed. So the admin has to do something radical where he installs everything for you. He won't let you do it yourself. And I guess the biggest issue with it is even if you are able to surpass all of these things, it's still not scalable. That little data center they have going on in your cluster is limited to the number of machines they have. And that's it. Say you exceed that limit. Tough luck. Go find a new institution. So that's why we want to replace this with a cloud-based framework that's easily deployable and scalable on demand, theoretically to infinity. So there's many pieces to this puzzle. It's not just like, hey, we can just do this within the click of a button. There's like a few pieces you'd need to understand. So this little picture I made is just showing you guys the different pieces of the puzzle. So we're going to talk about containers. We're going to talk about cloud providers. We're going to talk about parallel computing backends in R. And we're going to talk about Kubernetes. So let's start with the most important thing. So we need to know how to do parallel computing in R. So this is the first piece of the puzzle. So in R and Bioconductor, let's talk about R first, like L apply is a very common way to do like map reduce kind of work in R. So the idea is you have a function and you have a list of something. You have a list of objects and you can use the same function on every element or every item in that list. That's pretty much it. And in Bioconductor, we have a package called Bioc parallel, which essentially does the same thing. And the function is called BP L apply. And the only difference here is there's an extra function, extra argument to the function called BP param. You don't need to pay any attention to BP redo and stuff. But you can change the type of parallel computing back end, which is being used when you use this BP L apply command. So just to delve into this a little bit more. So you apply a function to each element on the list or a vector x. And the idea is the return value is also a list of the same length of what you gave it as input. So that's kind of key. And you can change BP param for different back ends for parallel evaluation. So I'm going to talk about a few different back ends so you understand where I'm going with all of this next. So Bioc parallel has different back ends. These are just a few. The most basic ones are multi-core param and snow param. So I'll just highlight a couple of the differences here. So multi-core param uses a process called FORX. You don't need to understand how it works entirely. But for each parallel thread, there needs to be a complete duplication of whatever is happening on the master process with the shared environment. So all the objects and variables which you give need to be copied over, which is why it makes the computing really quick. But one of the major limitations is it's not available on Windows. On the other hand, like sockets, which is run by Snow Param, pretty much works on all the operating systems. But each thread runs separately without sharing objects and variables. So it needs to be passed by the master process like explicitly for this to work. So it's a little slower because there's like a little bit of a communication overhead between the different processes. And there's this new back end called Redis param introduced by Martin Morgan and Jeff Wang, which essentially works with a queue data structure called Redis. Redis does a lot more things, but we're just using this queue type message passing interface, which makes it easier. So I just took screenshots from my local machine for each of these different back ends. So you can see that all of them report that I have 14 possible workers left. That's because so that's happening here. That's because I have a 16 core machine. And the way Bio-C parallel gives you the number of workers is it's total number minus 2. So it'll give me 14, so 16 minus 2. So Redis param is open source. It's available in Bioconductor. It's a new package, which is in Bioconductor.develop now. It's an in-memory data structure. It stores some objects. And it's able to pass these objects to different workers in that data structure. It's essentially a queue. So whoever goes in first comes out first. It's fairly simple. There's a few packages in R which do this. So one is called Redux, which is in CRAN. And Redis param is in Bioconductor. So how do you use Redis param? So I'm going to give you guys a little bit of a demo. Let's see if this works. If I can find my mouse. Can I drag this over? I can't find my mouse. Oh, there we go. Is this screen large enough? Is the text large enough in font size? Yes? Great. So I'm going to just start an R process here just for the sake of demonstration. And I'm going to split my screen, start another process, split it one more time, start another R process, split it one more time. I'm going to start a Redis server. The Redis server is going to act as this message passing interface. Everything on the right-hand side, you're going to think of as R processes which are workers. And on the left-hand side here, you're going to think of this R process as the master or manager. So I'm going to say library Redis param. So I'm running Bioconnector 316. So Biocmanager 316. So I'm going to make a Redis param for us. So Redis param. And since this is the manager, I'm going to say is.worker equals false. And I'm going to give it a job name equals test. I need to give it quotes because it's a string. So you'll see that a Redis param is up. So it created an object. I haven't started it yet. I just created an object. So I'm going to start Redis param. So by default, it'll say BP on workers is 1,000, which doesn't really mean anything. But all you need to pay attention to BP is up. It's false. So now when I look at my Redis param object, after starting it, after doing BP start, is there's zero workers. But it's active. And these two are my workers. So I'm going to say library Redis param Redis param. If you guys have any questions, like ask me. So this is a worker, which I'm initiating. Is.worker equals true because this is a worker. And since we want it to be on the same job, so the way they talk to each other is, all the process talk to each other through a job name. So I'm going to say job name equals test. And I'm going to say BP start P. And that's going to happen. And now if I look at P on my master or manager node, it's going to say number of workers is 1. So Redis is smart enough to figure out when something comes up spontaneously. You don't have to do anything. I'm going to copy the same code and paste it in my second worker. And show you guys now the number of workers is 2. So just in the interest of time, so I have this GitHub repo with some demo scripts. I'm going to just take a function, which essentially does nothing. All it does is sleep for a second and gives us a process ID. And then we're going to do some parallel work. BP, L apply, 1 through 4. So we're going to do it four times. So each worker is going to split the job twice. We're going to run this function foo. And we're going to give it a back end, which is Redis per amp equals P. So you'll see that each of these processes has a different process ID. So both of them ran it twice. So to fact check that, we can stop RP, stop all. So that's the function to stop the workers from the manager. So if I say RP stop all P, it'll stop the workers. And now if I say assist.getPID, so this gives us 32244. And if I say assist.getPID here, 32317. Any questions so far? So this is like a very simple and basic demonstration of Redis per amp. That's pretty much it. Nothing else. Questions, comments? Does anyone have a chat for on the WebEx? Maybe we can see if the audience folks have any questions? Go ahead. Well, it's very nice. I just wonder if you can say anything about the amount of infrastructure needed on the manager and the workers so that Redis is usable. Is it a simple runtime? So you need Redis to be installed independently? Does bioconductor installation of Redis per amp take care of that for you? No, it doesn't. You'd have to install it separately. Jumping back into the slides because there are no questions. We're going to switch to the next piece of the puzzle, which is bioconductor containers. So bioconductor produces Docker containers. These are available on Docker Hub. They're called bioconductor underscore Docker. And we have many releases available as well. So I think everything from release 3.11 is available on the Docker containers for bioconductor. The latest release is release 3.15. And the develop image, which is bioconductor 3.16, is called develop. So if you wanted to use these Docker images, you would just say Docker pull, bioconductor, which is the organization name. Bioconductor underscore Docker, which is the image or container name. And then in these square parentheses, I'm just trying to demonstrate the different tags which are available for these images. If you wanted to use develop, you'd use develop. If you wanted to use a release version, you'd say all caps release underscore 3 and release number. The advantage of these Docker images are they have all the system dependencies, including Redis, which Vince just alluded to available on them already. So you wouldn't have to install anything separately. And all the bioconductor packages would install by default. I say 99%, but it's closer to like 99.7% or something. And the other huge advantage of using bioconductor Docker images are you get binary packages for free. So when you just say bioc manager install, you would get the latest binary packages of all bioconductor packages available to you. You wouldn't have to compile it on your local infrastructure. They're 7 to 8 times faster in terms of installation. Docker images are very cross-platform. So no matter what operating system you use, Windows, Mac, Linux, it's available to you. And you get RStudio on the front end. Or going forward, it's going to be called Posit, I believe. So that's like one of the second piece of the puzzle. So we've learned about parallel computing, some basics about that. We've learned about Docker containers, which bioconductor produces. And now we need to know what Kubernetes is. So we have these containers. When we deploy these containers on our cloud system or on multiple different nodes, we don't want to have to install everything separately. We want a piece of software which does all of that for us. So when we use Kubernetes, it orchestrates everything for us. So it'll launch the same Docker image on all of these different nodes that are available. It'll make sure these images don't suddenly... These containers don't suddenly break or fail. So it'll make sure everything is running smoothly.  And you can do rolling updates. That's not that essential, but the idea is if you want to make a change to your image, you can make it on the fly. So Kubernetes essentially handles like deployment, scaling, management of any containerized application. So in our containerized application is this bioconductor Docker image. Any questions regarding this? So I'll just introduce some verbiage of like Kubernetes here. So a node, when I say a node, it's the actual virtual machine or the compute instance which is on the cloud. So this is a computer quite literally at a data center and that's going to do stuff for you. Apart, think of it as like one container, just to make it easy. It's the most basic deployable object in Kubernetes, but you don't need to really understand it. That was just think of it as like one container or like, yeah, one container is good. And a cluster, when I say a cluster, it's like your entire Kubernetes deployment on your cloud. A volume mount is stuff where you store things so you can mount a volume to any of your Docker images on your local machine or on the cloud and you can store things on it. So you can connect all of your pods to the same volume mount. And there's this piece of software called Helm which acts as sort of a package manager for Kubernetes application and K8S is the abbreviation for Kubernetes. So don't get confused because of that. So just to demonstrate like this, these new terms again. So there's a Kubernetes API which you use on your local machine on your command line and that the command is essentially cube CTL or cube control.  And once your cluster comes up on the cloud, so you have a cluster with three nodes here. So three literal machines, three computers which are running stuff on the cloud. And think of each pod here as one Docker container doing something different. So node three has like three containers doing stuff. Node two has two containers. Node one has one container and they can all talk to each other or not. They can be doing different things but this is the idea of a cluster. Questions? Okay, so I'll talk about this bio conductor Kubernetes Redis cluster now and this is like the general architecture of it. So let's think about it from the user point of view. So a user would start a Kubernetes cluster. He or she would install a Helm chart on this cluster. So we give you a Helm package of sorts with this application. Sorry, keep bumping into the mic. We give you a Helm package. So you would install it on this cluster which you start on the cloud of your choice. And you would connect to your manager node which essentially is running RStudio on the front end for you to interact with it. And you would just say BPL apply and send some jobs to your workers. Like you could choose the number of workers you deploy and you would just send some jobs to the workers and the way these jobs are sent is through Redis. So now let's talk about this cluster a little bit. So in this example you have like three nodes and you have a manager which is running R and RStudio and RStudio is your front end. So you have that as your application in your browser. And in the back end you have like five workers here and your manager is able to send five workers a job of whatever size. And you also have a Redis pod and an NFS pod which is essentially different software. NFS is like a network file system and all of your pods are connected to that file system. So that means that the underlying file system which each of your manager and worker sees the same. So they can share information. So there's no transmission of information from one place to another. So there's no like latency in like message passing. Object passing I should say. So this is the idea of a cluster and this little cloud is essentially indicating that all of this is on someone else's computer on the cloud. Questions, comments. All right. Can we check if there's any questions on the live chat? I can try and join it like social. Okay, great, thank you. So next is the cloud provider. So you can launch this on Google Cloud, Microsoft or AWS and this Helm chart is available at this location here. And this is work by Alex Mahmoud who's at the back of the room. He's giving a demo I believe tomorrow. So be sure to attend it if you would like. Friday. He's giving the demo on Friday. So be sure to attend it on Friday. So the main advantages of using any of these cloud providers are they're on demand, customizable, they have like a mechanism to run your Kubernetes applications and so on and so forth. They're fairly advanced. Everyone is using it for everything now. Right, so we just get into the demo. This is gonna take a while so bear with me. I'm gonna launch everything live so that there's no difference between what I'm doing and what I'm showing you guys. So these are the requirements if you wanted to like run it yourself. So you would need a cloud provider for that. You would need a credit card or someone funding you. You'd need a Helm chart which we are providing. You need Kubernetes which is available on the cloud. You need Redis Param which is being provided by a bioconductor. So this is a user flow. So I'm gonna start the Kubernetes cluster on Google Cloud, the Google Kubernetes engine, GKE. And I'm going to install this biocudate configuration with the Helm chart. Connect to the manager. Deploy some R code using this BPL apply function with Redis Param, gather the results and delete the cluster. That's the goal at least. So now let's see if this demo works. So this is where the script is to run this stuff. So hopefully nothing bad happens. So I'll just stop all of these guys because we don't need them. These are all like local machine things but we are now going to the cloud. So I have a demo script. It's called multi-node cluster launch and I will put that up here so we can cheat a little bit. So first I need to log into my Google Cloud account and I'm gonna do that. Great. So now I'm authenticated with my Google Cloud account. And then I can start my Kubernetes cluster on Google Cloud. So for the sake of this demo I'm going to launch a cluster with two nodes of E2 medium size and that means it's like a four core machine so I'm going to launch two VMs with four cores. So now it'll launch the cluster which is gonna take a second or two, maybe three, four minutes actually. So if you have any questions now is the time to ask. Anything is fair game. This is gonna take a while, guys. That's why I asked for 90 minutes. My question is, you mentioned you have four cores on each machine. If you have a process that uses one core then you are wasting three cores. So can you use Redis to parallelize within the machines? Scale up and down as needed. And they share objects when they are running on the same machine and not share when they are running. So you can scale them. There's like commands in Kubernetes to help you scale but there's no auto scaling right now. That's what you meant by is it smart enough to shut down nodes and stuff? Was that your question? So it was more about the object sharing and environment sharing because if you have, I don't know, a huge surat object or whatever you don't want to copy it. The object doesn't get copied. You're working on the same file system underneath for all the workers and the manager so there's no copying happening. But it has to be in the memory, right? So it needs to duplicate in the memory. That's what I mean. That's what I'm saying. So you copy it once to this file system and it's all your nodes and your objects. Your object has access to like the manager and the workers. It's just happening once. Okay, thanks. I think it may be worth pointing out that there is another package that's relevant here called shared object. And I haven't used it but I think that maybe where you're going that you do not want to have replication if these machines are connected memory-wise and the shared object package which is by Jeff Wang should accomplish that for you. Natasha, have you done anything with that? I have never used shared object. So there's infrastructure to help with that. I don't think it's been exercised very heavily so if you want to discuss that. I think Alex has a comment. So with the network file system for each pod they basically think that the object that I think it gets serialized to the network file system and then if it's on the same node it will just have a cache on that node and just use it directly. If it's on a different node it will send it to the Kubernetes internal network from one to the other. But from the perspective of each pod it thinks that it's localized and the network file system just deals with actually moving the data from the user point of view that there isn't that much latency. Any more questions? Natasha from Nanostream. I did have some questions so this is kind of like a job manager. In some cases you're doing first and first out of queue. So how much job managing can you actually do with this? So it's not meant to be like you deploy a job. So it's more for interactive computing. So the way most people use R is you want to do something interactive on the fly. Even the BPL or fly command most people use it. You can use it in a workflow and let it sleep overnight and do a lot of things. I'm going to deploy a job and I want my results back now. That's the idea. I don't know if I answered your question. Yeah, no, that's okay. And then for BPL apply have you tried with actually running multiple different functions? Like what if I wanted to set up pods with different containers and run different things on all the different containers at the same time? You could do that. You'd have to design your own cluster though. But you could do that. Yeah, this is taking longer than usual because of the Wi-Fi. So I encourage more questions. Yeah, for sure. I have a question if that's okay. Aside from Google AWS and the other one that's escaping me, are there any other cloud service providers that you know of that are good or that aren't? Yeah, so I think IBM has its own cloud. There's DigitalOcean, there's Alibaba, there's OpenStack which is an open source. It's not free, but it's open source. And then you have like, I think NSF sponsored cloud as well like Jetstream, which are like for researchers, you'd apply with a grant or something and you'd get some service units as credits and you would use those. Yeah. Aside from all the benefits that are associated with using Kubernetes platform and the learning curve, what are some of the drawbacks do you think? So I think the biggest drawback is like, the expertise you have to develop and so if you remember my initial puzzle with different components you'd have to gain some expertise like be able to like launch and take down and avoid like excessive spending. So that would be one of the but Vince might have a better one. Yeah, I mean I think the whole problem of debugging in this context becomes very potentially confusing and difficult situation. That's why we are thinking about the idea of a development services so that you don't I mean so that bioconductor can help you experiment with these things in a very low cost or a zero cost environment and that's a very new set of facilities that we have and I think if we follow what Natesh is doing you see your first experiment and then I don't know if you ever are going to demonstrate how something can crash and what you do to recover but those are the kinds of things we need a lot more experience with. So yeah, that's where the expertise in Kubernetes comes into play and just being able to navigate like these cloud providers dashboards and stuff. Yeah, that's a big thing. But coming back to the demo we see that the cluster has launched it's called my GKE cluster and you'll see that it's launched in US East 1B the machine type is E2 medium the number of nodes are 2 and the status is running right now. We want to attach a disk to this so that we have access so all the nodes can all the nodes have access to the same disk or a persistent disk per se. So if you have some data you compute on your cloud service and you want to keep this disk after your computation because the data is too large you can just keep this disk available to you on the cloud for as long as you need so it's going to be there. You can take up and down the cluster you can create and delete the cluster but you can keep the persistent disk. So we'll do that um great so that's what happened just now I've selected a disk of under 200 gigs for IO performance so this is a demo you can do more or less depending on what you want and it'll give you once it's created it'll say hey this persistent disk has been created in this zone this is the size and the status is ready so once that's done you would actually you'd need to like get some credentials from the cloud to do something on your local machine to pass some commands and stuff so this is gcloud container clusters get credentials is saying that hey google cloud give me some credentials from this cluster so that I can run some commands and do stuff with it so it'll say fetching cluster endpoint authentication data and kube config is now ready so when I say kube ctl get all so it'll show you this cluster is active and it'll show you two nodes right so you'll see that the cluster is active and so I still need to launch my actual like helm application and this is what this does that I'll just walk through what each of these lines mean so the first line is saying like I don't think it's so the first line is saying like helm is the name of the command line software you're installing this application onto your cluster you're giving it a name it's called my redis demo and each workers so I'm going to set the number of workers in this cluster I'm choosing 3 and instead of 314 I'll say 315 I need to use a bioconductor image version so instead of develop so instead of release I can use like develop so I can say 316 here and 3 I guess the thing would be develop or I'm not sure actually so let's just use 315 for the sake of the demo and I created a persistent disk so everything in my cluster needs to be attached to the same disk so we're going to give it the name of the disk don't worry about that don't worry about that and this is the name of the application GKE helm chart demo and we'll remove the weight that is because I need to go back one so that's going to install this helm chart on my GKE cluster so it's going to take a minute so now if I say kubectl get all you'll see that it's creating all of these containers so what that means is each part is going to pull the correct container and run it on the cluster and this is also going to take a while so any more questions no that's a really good point yes so we can just go through the helm chart a little bit here so in this GitHub repo there's this GKE helm chart demo so if I click that you'll see templates and values so the template is essentially a template of the Kubernetes application and the values are like preconfigured values like default values but all of these are configurable of course so you'll see what exactly is happening in terms of like what's being run so these are pre-templated values and this is the config file for my manager deployment so I don't know if you guys are familiar with like these configuration files but the idea is we need to tell the manager part like what container to pull down so that's being given like you're giving an image name and a tag and you're giving it like an image pull policy which is like hey always give me the latest image so we'll just say always that's one of the options there and then you're going to tell it like what volumes need to be mounted like there's an NFS type persistent disk that's being mounted and RStudio is the application running on the front end so you need to give it a username and a password so this is the password which you can pass into it and the name of the value is called password it's not actually password so since it's a web application it needs to be hosted on a port of some sort so 8787 is going to be the port we choose and if you have anything extra you want to do like any extra commands that need to be deployed like run a command like you can just say R script E and give it some job and like just deploy it so that will be passed into this location here and it will run that job for you automatically and this restart policy says if it fails pull it up again like restart it it's pretty much the same so you will have like a config file for the manager you'll have a config file for your NFS you'll have config files for your Redis services our studio and your worker yeah this is where things get difficult for me and I'm just you've called this GKE HelmChart demo and it really seems like a significant product that code base sitting there with all those defaults and that entire logical structure you take things off essentially your Helm install you've overridden a lot of those parameters so is this regarded as a software product you call it demo but it seems to me that this has to be a kind of tested infrastructure with validation and so forth are you looking at it in that way so there's a package called BiosyCube install which is probably a little advanced for this section but in the inst folder of this package there is a HelmChart which is essentially the canonical one it does the exact same thing what we're doing now but the reason I pulled it out of here is to avoid the complexity of what this HelmChart is doing like just show folks a simpler HelmChart but I agree with you in the sense that it is a product that can be evaluated, tested and delivered in a better way I don't know if Alex can speak to that a little bit more like I mean we do have a bioconductor Helm we do have bioconductor Helm which does everything for a single node cluster and it'll teach you exactly how to launch stuff and you can launch it on your local machine on a minicube cluster so minicube is essentially doing whatever Kubernetes is doing on your local machine on Azure Google Kubernetes Engine and AWS Elastic Kubernetes Service and all the instructions that are in there Alex had a comment I think the chart that was made for biocube install is a really good concept and it has the NFS that is all of that deployed within that chart I think moving forward in order to not have us to maintain NFS that is we're going to try to bioconductor Helm chart put dependencies on NFS maintained by the Kubernetes communities that's the NFS Ganesha there's a chart that is maintained by Bitnami and try to use those as dependencies but kind of offload the maintenance requirement going forward for the other services so we would only maintain the bioconductor Helm chart and link it to the other ones and put the necessary linkage but not have to maintain the full stack so you would add dependencies so what Alex is essentially saying is like we do a lot of work on that Helm chart and we don't need to we can pass off all the maintenance of the Redis config NFS config to folks who are experts in that and just add dependencies in this YAML file here saying like Redis from here NFS from there and they would do stuff for us let's check on our cluster okay so our cluster is up and running right of course so if they can hear me and they have the slides they probably don't but if they let's see so if my I'm hoping my screen is being shared but like these are the links to GitHub take a screenshot or I don't have the chat open so guys take a screenshot in five four three two one so this is great so now that we have this available where's my example demo multi-node great so we have our Kubernetes application up and running and now the idea is I need to get my RStudio link so there's a very handy command here you don't actually need it but it's kind of handy but if you remember like the port it was 8787 and if you say kubectl get all your RStudio load balancer will assign an IP address to you an external IP address and it's going to be this one more likely than not we won't be able to access this right now because of the firewall but we'll try anywhere oh hey we can so the password I set is bioc and the username is RStudio hopefully we'll be able to log in so my backup is if it doesn't work I'll switch to my wireless hotspot on my phone but it seems to be working so the RStudio server is up and you'll see that bioc manager version as we chose it is 316 did we choose 316 ok we did and it's available to us so this is using a bioconductor container so if I wanted to install a package and I just say bioc manager install I would get a binary package now I wouldn't get anything any source package to compile so for example if I were to say RHTSlib it would just happen super quick there might be a few packages but I just wanted to show you guys a demonstration of the binary package installation give it a second I see let's check it out Vince is right we did set 315 ok yes so the workers are getting 315 but the manager is always like develop so as soon as you send the work it doesn't actually matter what version the manager is on the manager can be a different version the workers can be a different version but they'll still talk to each other but essentially thank you for pointing that out I forgot that little piece of information there but you'll see here on the installation that it just pulls a container from a binary store an object store on Google Cloud and it doesn't do anything it just unpacks it and it'll say installing binary package and it's done and doesn't actually compile anything so it's very fast so you made it seem as if it's ok that the manager has 3.16 but the workers have 3.15 is it if you had an object that was sort of a 3.16 dependent as 4 then it would have some problems so I think the check on consistency of bioconductive version should be a default as this thing goes forward right absolutely so I just wanted to like demo this multi pod or multi node parallel computing on the cloud so we have 2 nodes I think 3 workers so I have this demo script so I'm going to say the number of workers is 3 here I'm going to name my job binary build because that's hard coded for whatever reason and I'm going to run this like 13 times over one worker so that's going to be so one worker is going to run it 5 times another worker is going to run it 5 times and the next worker is going to run it 3 times and we're going to do a BPL apply after starting Redis param everyone with me this is exactly like the Redis param we ran earlier so we're going to load the library Redis param Redis server is being run by a pod so we don't have to start a Redis server and this manager node and the worker nodes know already that Redis server is active so we're going to set some system variables to make sure that the right environment variables are being detected start Redis param and you'll see that it recognizes the number of workers as 3 because you're going to give it 3 workers it hasn't started up yet but BPL apply once you run it it'll automatically start it so if I were to say BP start P it would know so that there's 3 workers available and then we're going to run the same function essentially which is 3 for a second and then give me the node name like it's not a process ID anymore it's the name of an actual machine which is running so that's we're going to call it a fun function and then we're going to time it so that we know how long it slept so in 5 seconds we should have 3 workers report to us that's the idea we're going to give it an uneven number like an odd number of workers odd number of jobs so that we know that everything is happening correctly and we're going to time it with system.time and we're going to say BPL apply 1 through 13 and you'll see that the elapsed time is like 5 seconds 5.422 and if I were to say so res will look like a list and we don't want to look at that what we want to do is we want to list it and then tabulate it so that we can see how many seconds or like how many jobs each worker ran so you'll see that each work cluster so 2 of them run 5 times and 1 runs 3 times so that's the idea behind this I guess and to fact check that the names of the work clusters are correct so you can compare the names here to what Kubernetes gives you back and you'll see that they match this and I guess this are the same so you have launched the cluster you have done some work on it now I guess the next big step is to like take it down because if you don't you're going to keep getting build and that's the biggest thing so you have to delete your Kubernetes application first you say so helm status my redis demo you can say that and it'll show that it's up so you have to delete it now so you'll say helm delete it'll delete everything on the Kubernetes cluster you have to delete that persistent disk unless you want to retain the information on that disk but since we haven't done any useful computation we can delete it I'll say yes so that'll happen in the background and then you also have to delete these two compute instances or nodes so that your VMs aren't just running so that'll you can also do that with gcloud container clusters delete and it's all gone from the cloud now it's deleting and that's do I have anything else? yes I do have something else so I just wanted to talk about an example application which we've been using for a while now and I showed you a demonstration of these binary packages being delivered to you guys and that is one of the biggest applications of this helm chart so the way we do it is we compute a dependency graph of all the R packages in bioconductor and we make it a parallelizable process so in this depth first search graph if you see level 0 that's a package all the packages with node dependencies are level 0 level 1 is all the packages with like one dependency level 2 all the packages with 2 dependencies and so on and so forth so when we pass these packages to be built on the Kubernetes cluster we pass it based on the level and what happens is like the workers get one package every time you pass a level in so if we have 50 workers and we have like 500 level 0 packages it would give in 50 first as soon as one finishes it would get like 51, 52 and so on and so forth there's no latency there and then once level 0 is done level 1, 2, 3, so on and so forth it goes up to like level 17 I think and we use the same cluster architecture for it to work in the background on the cloud and we store these binaries on an object store in the Google cloud and we deliver it to folks so this is BiosyCube install package which I demo, which I showed you guys uses RedisParam works on the Google cloud so it essentially uses all the pieces of the puzzle I just demonstrated it has parallel computing Kubernetes cloud availability and cloud infrastructure you need to know something about that and you also need to know some Kubernetes I just want to give acknowledgments to like folks on the team here like Martin Morgan, Vince Jeff Wang, Marcel Ramos and Alex Mahmoud it takes a lot of people to get this sort of work done and that's it if you have any questions, ask me we still have like 25 minutes so questions, comments


For all students registered at Tilburg University, we offer short-term psychological help aimed at reducing personal and study-related issues. Stress, mood problems, decreased levels of concentration and motivation are problems that are often mentioned by students who contact us for psychological help. As members of the working group Student Wellbeing, we care about the well-being of all students. Being a student can be fun and exciting, but sometimes also stressful. Tilburg University welcomes students from the Netherlands and from all over the world. Studying can be exciting and joyful, but it may also bring challenges. Personal or situational circumstances can even make it more challenging. Our services consist mainly of individual therapy, but we also offer consultation, advice and group training. Nowadays, all of these services are offered online, offline or by phone. A referral is not required. Please check our website for our contact information. All information that you share with the student psychologist will remain confidential. In case you're dealing with severe personal problems or problems that last longer than one year already, we will advise you to contact your general practitioner or, for example, your therapist back home. We can imagine that a lot of questions remain unanswered after this brief introduction. Therefore, a lot of information is put on our website as well. So, in case you have any questions left, don't hesitate to contact us. We encourage you to reach out and find help. We aim to create a welcoming environment for everyone. Please take into account that the individual therapy we offer consists of average three sessions. Therefore, we cannot offer intensive or long-term therapy. Should you have any questions about contacting the GP or finding an external psychologist, please don't hesitate to contact us. In our sessions, we apply evidence-based techniques to your individual situation. Helping students is an interesting job and we enjoy doing so. And we hope that you feel connected to our campus community. So please remember, our student psychologists are here to help you.


Abstract electrons are indivisible elementary particles, but when grouped together they can behave like a fraction of a single particle, exhibiting exotic and useful properties. One such collective excitation, known as a topological majoranomode, is naturally stable against perturbations, making it ideal for storing quantum information. In this paper, researchers demonstrated a verifiable identification and braiding of topological majoranomodes using a superconducting quantum processor as a quantum simulator. They confirmed the existence of majoranomodes localized at the edges, distinguishing them from other trivial modes. The team also proposed a non-adiabatic technique, which revealed correct braiding statistics in their experiments. This work could further be used to study topological models of matter using circuit-based simulations, and could speed up fundamental discoveries in quantum science and technology. This article was authored by Nicolle Hull, Ols Stanko, and Raymice Moeverser. We are article.tv, links in the description below.